Closed limuyuan closed 4 years ago
@limuyuan 感谢反馈。 不过我建议你继续往后面看,第二章只是一个简单的语法梳理,后面会有更详细的解释。写书当然是循序渐进的了,不可能在这个例子下详细解释所有权,那样的话,第二章的内容就要被“撑大”了。
@limuyuan 感谢反馈。 不过我建议你继续往后面看,第二章只是一个简单的语法梳理,后面会有更详细的解释。写书当然是循序渐进的了,不可能在这个例子下详细解释所有权,那样的话,第二章的内容就要被“撑大”了。
不是说让你详细说明,起码提一下to_string()
吧?代码示例是为你要介绍的知识点服务的,而不是起到烟雾弹的效果,直接丢出去一堆代码然后说会报错,然后报错的点在哪里都不说。。
我只是作为初学者的角度来提出我的疑问和建议,不被采纳没关系,不过我还是希望你可以理解一下为什么我会对此感到非常困惑。就算后面会讲到,但是前面如果不直接一针见血提到to_string()
,我甚至不知道后面我需要进一步了解的是哪块内容。要是什么都可以用“后面会学到”来回复的话,其实我建议您可以删掉整个第二章。
@limuyuan 很感谢你的反馈。我会采纳你的意见的。
@limuyuan 但是目前建议你继续往后面看了。 另外有任何问题都可以发 issues 反馈,我很欢迎的,不用顾虑。
@limuyuan 扫描书封面内页二维码,可以加读者微信群,交流更方便
@limuyuan 但是目前建议你继续往后面看了。 另外有任何问题都可以发 issues 反馈,我很欢迎的,不用顾虑。
好的,感谢回复
我后面是通过自己用Playground才大概弄清楚问题在哪里,所以希望反馈一下把这个点加到书中,让初学者可以少些误解少走一点点弯路,我会继续看下去的
@limuyuan 嗯,看的过程中有什么建议和问题,都欢迎留言。
果然还是要先看The Rust Programming Language....我是万万没想到原来移动是这么玩的
原来跟to_string()
也是一毛钱关系没有啊。。
果然还是要先看The Rust Programming Language....我是万万没想到原来移动是这么玩的
原来跟
to_string()
也是一毛钱关系没有啊。。
又看了一下书上的例子,还是有关系的。。
"hello"
是字面字符串,是存放在stack里面的,而"hello".to_string()
是字符串类型?存放在heap里面,所以会发生Move?
@limuyuan 你继续往后面看,不要停留在第二章,就会自己发现答案。
页码与行数
代码
具体代码请点击[Rust Playground代码链接](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&code=fn%20main()%20%7B%0A%20%20%20%20%2F%2Flet%20place1%20%3D%20%22hello%22%3B%0A%20%20%20%20let%20place2%20%3D%20%22hello%22.to_string()%3B%0A%20%20%20%2F%2F%20let%20other%20%3D%20place1%3B%0A%2F%2Fprintln!(%22%7B%3A%3F%7D%22%2C%20place1)%3B%0A%20%20%20%20let%20other%20%3D%20place2%3B%0A%20%20%20%20println!(%22%7B%3A%3F%7D%22%2C%20place2)%3B%0A%7D)查看
错误信息
之前完全没有接触过Rust,这本书前面大概能看得懂,代码清单2-5这里是我第一个看得一头雾水的地方
开始我还以为“移动”是指
other
的值从place1
变成place2
导致的,直到我用了playground跑出来,看编译器的输出,才发现跟place1
根本没关系,重点在place2
的to_string()
上面,可是书中完全没有提到这个,只说“移动”语义,是不是有点太模糊了?