rust-course
rust-course copied to clipboard
“连续六年成为全世界最受喜爱的语言,无 GC 也无需手动内存管理、极高的性能和安全性、过程/OO/函数式编程、优秀的包管理、JS 未来基石" — 工作之余的第二语言来试试 Rust 吧。<<Rust语言圣经>>拥有全面且深入的讲解...
有没有发布的pdf版本
认识生命周期这一章节,对生命周期的部分描述或许有些问题。 文中有如下描述: ``` 但是,话说回来,存在即合理,有时候,'static 确实可以帮助我们解决非常复杂的生命周期问题甚至是无法被手动解决的生命周期问题,那么此时就应该放心大胆的用,只要你确定:你的所有引用的生命周期都是正确的,只是编译器太笨不懂罢了。 ``` 然而,RUST中的生命周期和unsafe代码有明显不同,其并不是以放宽安全性要求为代价进行的“优化”,**而仅仅是复杂的生命周期推演过程中的一个“中间提示”**。换句话说,如果一个函数的参数、返回值标注了'static生命周期,则编译器会检查实际传入的参数和返回值是否满足'static。同理,如果函数参数、返回值标注了'a,编译器会在每个调用处,分别检查输入参数、返回值在调用域内是否满足要求,同时会检查:假设输入参数为'a的情况下,输出'a是否成立。如果上述要求不成立,会报错,**而不是假设程序员知道自己在干什么,从而返回不那么安全的代码**(_有一个优化特例,后面说_)。 例如,如下代码会报错: ``` // 不满足:假设输入参数为'a的情况下,输出'a成立 fn TestFunc &mut 'a TestStruct { &mut TestStruct {} } ``` 特例:你可以从函数内返回一个 **Copyable的** **不可变的** **直接创建的** 临时对象引用。例如: ``` struct TestStruct...
Make the sentence smooth.
``` rust let mut buf = [0u8; 1024]; stream.read(&mut buf).await.unwrap(); ``` stream.read在handle_connection函数里面已经读取过了。另外stream的read方法本来就是mock,不需要验证
利用 docker 可将教程静态部署到本地,使读者不必受网络波动之苦。
mark #1134 十周年🎉
docs: add BSD install