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

书籍推荐

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岗位需求都在这里了吧~~~

计划的学习路线

  1. 入门

《The Rust Programming Language》,中文出版物是《Rust权威指南》。 强烈推荐配合 B站 令狐一冲 的讲解视频。(从入门到进阶到网络编程到异步, 而且也参考Rust死灵书做了视频)

  1. 进阶

国内已出版:张老师的《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 这一系列博客是你最好的学习材料。