答疑课堂(二)|第二章Rust进阶篇思考题答案
唐刚
你好,我是 Mike。
这节课我们继续来看第二章的课后思考题答案。还是和之前一样,最好是自己学完做完思考题之后再来看答案,效果会更好。话不多说,我们直接开始吧!
进阶篇
12|智能指针:从所有权和引用看智能指针的用法
思考题
你试着打开示例中的这两句,看看报错信息,然后分析一下是为什么?
答案
Arc 本质上是个引用,所以不允许同时存在可变引用或者移动。play_boxown() 和 play_own() 只能同时打开一个,这两个方法调用都会消耗所有权,导致没法调用另外一个。
答案来自 Taozi 和 Michael
13|异步并发编程:为什么说异步并发编程是 Rust 的独立王国?
思考题
为什么我们要把 async Rust 叫做“独立王国”呢?
答案
因此 async Rust 代码是在一个 Runtime 里面执行的,而 std Rust 的代码不需要这个额外的 Runtime,因此说它是独立王国。
另一方面,在 Rust 中,异步编程是使用 async/await 语法,这种语法具有可传染性,与 std Rust 代码也可以明显区分开,因此它像一个独立王国。
14|Tokio 编程(一):如何编写一个网络命令行程序?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文总结了Rust编程语言中第二章的进阶内容,包括对课后思考题的答案和相关技术概念的讨论。文章首先介绍了Arc类型的特性,解释了为什么不允许同时存在可变引用或者移动。接着讨论了async Rust被称为“独立王国”的原因,主要是因为async Rust代码是在一个Runtime里面执行,而std Rust的代码不需要这个额外的Runtime。此外,还涉及了EOF的概念和在Rust中处理网络连接数据的方法。另外,文章还讨论了从任务中搜集返回结果的几种方式,以及对于错误处理的不同方式。最后,文章介绍了在Rust中控制编译器警告和错误输出的属性,以及生命周期符号在`<>`中定义的原因和意义。整体而言,本文涵盖了Rust编程语言中的一些高级概念和技术特点,适合对Rust进阶内容感兴趣的读者阅读。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Rust 语言从入门到实战》,新⼈⾸单¥59
《Rust 语言从入门到实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论