Rust
Rust是一门系统编程语言,专注于安全,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。
(P.S:虽然Rust的好大家都知道,但是目前2021年在国内大概还是需要另外学一门语言来谋生orz,但目前的岗位需求已经比2020年好一些了)
Install
其实除了windows系统外,其他系统在联网环境下都可以通过脚本进行安装。
参考官网,一句条命令可完成。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -v
环境变量配置参考安装后的提示。
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin). # zsh用这个
To configure your current shell, run:
source $HOME/.cargo/env # 默认bash用这个
验证安装是否成功
[root@localhost ~]# rustc -V
rustc 1.52.1 (9bc8c42bb 2021-05-09)
[root@localhost ~]# rustup -V
rustup 1.24.2 (755e2b07e 2021-05-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.52.1 (9bc8c42bb 2021-05-09)`
QuickStart
- Tour of Rust -- Rust 语言之旅
- 类似 Tour of Go 的 Rust语法入门在线练习项目,且有中文翻译
- Rust Playground
- 方便在线运行Rust代码
书籍推荐
1.首推荐官方的The Rust Programming Language
如果本地已安装好rust,可以使用这个命令在本地查看官方文档:
rustup docs --book
备注:虽然实体书目前已经出了中文版《Rust权威指南》,但是该实体书是基于18年的rust版本编写的,所以建议还是直接查看官方最新文档。
2.推荐国人写的,毕竟有母语学习优势,后面熟悉了可以直接啃英文文档。
深入浅出Rust
-- 据说适合初学者。Rust编程之道
-- 据说原理讲解清晰。
为什么是据说?因为我现在正忙着学Go,目前的确没精力同时学习Rust了,后面再来填这个坑,阅读简评以后会发到我的读书雷达
3.Rust标准库文档
关于编译
hello world程序可以使用rustc,但是工程级rust项目官方建议使用cargo
。
Rust新功能历程
RFC(Request For Comments) -> Nightly -> Beta -> Stable
Cargo
Cargo 是 Rust 的构建系统和包管理工具。
主要负责三个工作:
构建build代码。
下载你代码 依赖dependencies 的 包装箱crate。
编译 你的源码 和 包装箱crate。
检查Cargo是否正常安装可以用这句'cargo --version'
推荐阅读
使用Cargo的Rust项目结构
project_name
|- src // 放置源文件的目录
|- main.rs / lib.rs // 源文件
|- Cargo.toml // Cargo的配置文件
要使用cargo工具,必须在项目的根目录下建有其配置文件。(注意: Cargo.toml的C是大写)
Cargo.toml
TOML(Tom’s Obvious Minimal Language)格式。简单理解就是ini的进化版。
社区
- Rust语言中文社区 -- 虽然设计十分简约,还是挺活跃的
- Rust 招聘 -- 大概,目前(2020年)全国能找的大部分Rust岗位需求都在这里了吧~~~
计划的学习路线
- 入门
《The Rust Programming Language》,中文出版物是《Rust权威指南》。 强烈推荐配合 B站 令狐一冲 的讲解视频。(从入门到进阶到网络编程到异步, 而且也参考Rust死灵书做了视频)
- 进阶
国内已出版:张老师的《Rust编程之道》和范老师的《深入浅出Rust》。(个人觉得时间有限的2选1,前者极客时间也有配套学习视频)
必读资料:
-
《Rust By Example》,这本书可以当精简手册来查询,提供了很多的Example。
-
std - Rust 、《The Reference》、《Rust Compiler Error Index 》:标准库、语法手册、编译错误示例,这三大件几乎是日常必备的资料需要时常翻阅和查询,
-
提高
《The Rustonomicon》又翻译为《Rust死灵书》,但是一直没写有写完。但要能建立起对Rust的深入理解,这本书必不可少。 B站 令狐一冲的视频
Writing an OS in Rust 这一系列博客是你最好的学习材料。