Rust编程语言入门
Posted 小乔的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rust编程语言入门相关的知识,希望对你有一定的参考价值。
Rust 编程语言入门
Rust简介
为什么要用Rust?
- Rust是一种令人兴奋的新编程语言,它可以让每个人编写可靠且高效的软件。
- 它可以用来替换C/C++,Rust和他们具有同样的性能,但是很多常见的bug在编译时就可以被消灭。
- Rust是一种通用的编程语言,但是它更善于以下场景:
- 需要运行时的速度
- 需要内存安全
- 更好的利用多处理器
与其他语言比较
- C/C++性能非常好,但类型系统和内存都不太安全。
- Java/C#,拥有GC,能保证内存安全,也有很多优秀特性,但是性能不行。
- Rust:
- 安全
- 无需GC(性能好速度快)
- 易于维护、调试、代码安全高效
Rust特别擅长的领域
- 高性能 Web Service (Web API)
- WebAssembly
- 命令行工具
- 网络编程
- 嵌入式设备
- 系统编程
Rust与Firefox
- Rust最初是Mazilla公司的一个研究性项目。Firefox是Rust产品应用的一个重要的例子。
- Mazilla 一直以来都在用Rust创建一个名为Servo的实验性浏览器引擎,其中的所有内容都是并行执行的。
- 目前Servo的部分功能已经被集成到Firefox里面了
- Firefox原来的量子版就包含了Servo的CSS渲染引擎
- Rust使得Firefox在这方面得到了巨大的性能改进
Rust的用户和案例
- Google:新操作系统Fuschia,其中Rust代码量大约占30%
- Amazon:基于Linux开发的直接可以在裸机、虚机上运行容器的操作系统
- System76、百度、华为、蚂蚁金服...
Rust的优点
- 性能
- 安全性
- 无所畏惧的并发
Rust的缺点
- 学习曲线高 ”难学“
注意
- Rust有很多独有的概念,要一步一步学习
Rust 安装
官网:https://www.rust-lang.org/zh-CN/learn/get-started
Windows:按官网指示操作
Mac 安装:
curl --proto \'=https\' --tlsv1.2 -sSf https://sh.rustup.rs | sh
更新与卸载Rust
- 更新Rust
rustup update
- 卸载Rust
rustup self uninstall
安装验证
rustc --version
- 结构格式:rustc x.y.z(abcdbcdbc yyyy-mm-dd)
- 会现实最新稳定版:版本号、commit hash、commit日期
本地文档
- 安装Rust的时候,会在本地安装文档,可离线浏览
- 运行
rustup doc
可在浏览器打开本地文档
➜ cargo --version
cargo 1.67.1 (8ecd4f20a 2023-01-10)
~
➜ rustc --version
rustc 1.67.1 (d5a82bbd2 2023-02-07)
~
➜ rustup doc
开发工具
- Visual Studio Code
- Rust 插件
- Pycharm(Intellij Idea 系列)
- Rust插件
Hello World 例子
编写Rust程序
- 程序文件后缀名:rs
- 文件命名规范:hello_world.rs
➜ mkdir rust
~
➜ cd rust
~/rust
➜ mkdir hello_world
~/rust
➜ cd hello_world
~/rust/hello_world
➜ code .
~/rust/hello_world
➜ pwd
/Users/qiaopengjun/rust/hello_world
~/rust/hello_world via Rust 语言新人入门指南
首先,学习 Rust 不能急躁。如果你抱着之前 1 天上手 Python, 2 天入门 Go 的经验和优越感来学习 Rust 的话,你可能会遭遇严重的失败感。如果你来自 Haskell/Ocaml 等函数式语言社区,你会有相当的亲切感。对于有丰富 C++ 开发经验的同学来说,上手可能相对比较容易。
了解
一般来说,要决定学习一门新语言之前,会先大体了解下这门语言的特点和目前的发展情况。这时,建议看
- Rust 官网 https://rust-lang.org
- Rust Force https://rustforce.net Rust 基本要素汇集
- Rust 语言中文社区论坛 https://rust.cc
- 《Rust语言学习交流》公众号,每日 Rust 新闻和知识推送
- 知乎 有很多关于 Rust 相关的知识、专栏、博客等
看书
了解大体情况后,可能就想看看书,系统的学习一下。目前,网络上 Rust 电子书籍有:
- The Book https://doc.rust-lang.org/book/ 官方的 Rust 书(最新第二版,必看)
- The Book 中文翻译 https://github.com/KaiserY/rust-book-chinese
- Rust Primer https://rustcc.gitbooks.io/rustprimer/content/ Rust 中文社区推出的教程
电子书看着没感觉,想买实体书来看看,目前国内有如下两本已出版 Rust 学习教程。
实体书
- 《Rust 编程之道》 张汉东 电子工业出版社 2019-1
- 《深入浅出Rust》范长春 机械工业出版社 2018-8
练习
想做下练习
- Rust By Example https://doc.rust-lang.org/stable/rust-by-example/
开发
开始开发具体的工程了,cargo 和 crates.io 必须好好了解一下。
国内 crates.io 源太慢,有解决办法:
Rustcc 联合 LongHash 提供了国内 Rust 开发者专属 crates.io 镜像。把下面内容填充到你的 ~/.cargo/config 文件中(没有就创建一个)。
[source.crates-io]
replace-with = "rustcc"
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
然后,就尽情地享受飞一般的感觉吧。
招聘情况
想了解一下目前国内的 Rust 招聘情况,可以看这里
更多话题
更多话题 ,比如 编辑器如何配置,哪个IDE最好,如何配置,Rust 目前在哪些领域有应用,Rust 有什么杀手锏应用,区块链为什么越来越多选择用 Rust 来实现,WebAssembly 与 Rust 的关系等等,就不展开介绍了,上面提到的各种资源,以及网络上,有丰富的信息,大家可以自行查阅。
最后
In Rust, We Trust.
以上是关于Rust编程语言入门的主要内容,如果未能解决你的问题,请参考以下文章