Rust 语言从入门到实战
唐刚
Rust 语言中文社区联合创始人
5266 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
Rust 语言从入门到实战
15
15
1.0x
00:00/00:00
登录|注册

答疑课堂(二)|第二章Rust进阶篇思考题答案

你好,我是 Mike。
这节课我们继续来看第二章的课后思考题答案。还是和之前一样,最好是自己学完做完思考题之后再来看答案,效果会更好。话不多说,我们直接开始吧!

进阶篇

12|智能指针:从所有权和引用看智能指针的用法

思考题

你试着打开示例中的这两句,看看报错信息,然后分析一下是为什么?
// arced.play_mutref(); // 不能用
// arced.play_own(); // 不能用

答案

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
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
进阶篇
12|智能指针:从所有权和引用看智能指针的用法
13|异步并发编程:为什么说异步并发编程是 Rust 的独立王国?
14|Tokio 编程(一):如何编写一个网络命令行程序?
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部