1. 介绍
1.1 历史发展
Rust的开发最早可以追溯到2006年,当时Mozilla的员工Graydon Hoare开始了这个项目,作为个人兴趣。2015年5月,Rust 1.0正式发布。
1.2 能用来干什么
系统编程:
- Rust可以用来编写操作系统内核、驱动程序和嵌入式系统,因为它提供了对硬件和系统资源的精细控制。
Web开发:
- Rust在Web开发中的应用越来越广泛,尤其是通过框架如Rocket、Actix和Axum。Rust编写的Web应用可以同时具有高性能和安全性。
CLI工具:
- Rust被广泛用于开发命令行工具,因为它可以编写快速且可靠的工具。例如,许多流行的命令行应用,如ripgrep、exa等,都是用Rust编写的。
游戏开发:
- Rust可以用于游戏开发,尤其是需要高性能和低延迟的场景。Amethyst等游戏引擎就是基于Rust的。
区块链和加密货币:
- Rust在区块链和加密货币领域也有应用,特别是在需要高性能和安全性保证的智能合约和去中心化应用中。
嵌入式系统:
- Rust适合用于嵌入式系统编程,因为它能够在资源受限的环境中提供安全和高效的代码。
1.3 语言特点
内存安全:
- Rust通过所有权(ownership)系统管理内存,消除了许多C和C++中常见的内存错误问题。编译器在编译时检查内存使用,确保在编译时发现潜在的错误。
并发性:
- Rust对并发编程提供了良好的支持,拥有安全的线程模型,避免了数据竞争和其他并发编程中的常见问题。
高性能:
- Rust的性能接近C和C++,因为它是静态类型语言,并且编译成高效的机器代码,适合于需要高性能的场景。
零成本抽象:
- Rust提供了高级的编程抽象(如泛型、闭包等),但这些抽象在运行时不增加额外的性能开销。
优秀的工具链:
- Rust提供了强大的工具,如Cargo(包管理器和构建系统),使得项目管理、依赖管理和编译变得更加简单高效。
丰富的生态系统:
- Rust拥有一个快速发展的生态系统,Crates.io上有大量的第三方库和工具,帮助开发者在各个领域进行开发。
2. 初探
2.1 安装使用
1 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
Rust 将被安装在 ~/.cargo/bin
目录下。
2.2 创建项目
1 | cargo new hello-rust |
- Cargo.toml 为 Rust 的清单文件。其中包含了项目的元数据和依赖库。
- https://crates.io/ 可以查找 Rust 包的仓库
2.3 项目初探
Cargo.toml 增加依赖
1 | [dependencies] |
代码
1 | use ferris_says::say; |
执行
1 | cargo run |
3. 头脑风暴
3.1 IDE
IDE 使用的 RustRover。
关闭类型显示,在
Inlay Hints
设置中,找到Rust
,关闭。Cmd + Option + L
(macOS)来格式化代码。
3.2 猜数字游戏
1 | use std::io; |