Rust目前定位是更安全的C++,增强的C。可以说是用来写基础架构比较友好的语言。如果后续有兴趣做高性能服务,可以学习一下Rust.
如果说到Rust有很多人就是:这个语言太难了,太难上手了。奔跑的司机说:
大佬学习心得是:
问大佬Rust有什么好的学习教程吗?
推荐:《Rust程序设计》 《Rust权威指南》 还有张汉东老师的《Rust编程之道》 都是不错的入门书籍。
其中前两本网上有大概的翻译,特别《Rust程序设计》 Rustlings也是针对这本教材的。
如果书你也看了一些,但还是不知道Rust怎么写? 那么今天在给你们推荐一个好玩的项目:Rustlings https://github.com/rust-lang/rustlings
环境安装参考指导,我这里用的macos安装:
curl -L https://git.io/install-rustlings | bash -s rustlings
//可能需要翻墙 ,限于篇幅问题,大家可以自行阅读 https://github.com/rust-lang/rustlings 上面的Readme
//如果不能自动安装了,可以参考项目中的手动安装
这样就可以,用了。
使用方式
cd rustlings
rustlings watch
上面绿色部分表示已经修正完毕,可以运行通过的。下面红色报错的,表示需要征服的。接下来,开另一个终端,或是用IDE打开 : exercises/move_semantics/move_semantics1.rs 进行处理(一定要看报错), 依据错误修订完毕,保存,观察rustlings watch终端看到:
Successfully ran exercises/move_semantics/move_semantics1.rs!
恭喜你刷完此题。
然后把程序中 // I AM NOT DONE 就可以练习下一题了:exercises/move_semantics/move_semantics2.rs。
通过这个项目的练习,肯定会让看书上的理解会进一步的提示。
其实很多时间,不用追求速度,可以多想想。
例如:
fn main() {
let mut a_1 = vec![1,2,3,4];
let a_2 = &a_1;
a_1.push(5);
println!("array {:?}", a_2);
}
可以运行,但为什么下面这个又不能运行:
fn main() {
let mut a_1 = vec![1,2,3,4];
let a_2 = &a_1[1]; //不可变引用
a_1.push(5); //会破坏a_1的地址结构,和不可变引用冲突
println!("array {:?}", a_2);
}
通过这种小例子练习,基本能理解为什么rust是安全的。
Rustlings是针对官方教材《rust语言程序设计》做的专项训练,建议可以先阅读对应的章节,然后在刷对应的题。遇到问题再回看一下书,这样效果非常不错。如果你在刷的过程需要找到共同爱好者,也可以加到下面的群里,一同交流。
本文分享自 MySQLBeginner 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!