赞
踩
Rust 官方网站
Rust 是在 2006 年由 Mozilla 员工 Graydon Hoare 个人发起的一个项目。这个项目的目标是解决一些长期困扰编程社区的问题(比如内存安全),同时提供低级别系统编程的能力。后来,经过的不断的发展,进行了大量的重构和改进,添加了许多创新的特型,例如所有权系统、生命周期、借用检查等。
到了 2015 年 Rust 1.0 正式发布。Rust 语言的聚焦于内存安全和性能,使得它特别适合系统级别的编程。因此,Rust 得到了像 Firefox、Dropbox 安全团队,以及许多其他技术公司的使用。
Rust Playground 可以在线测试 Rust 代码,无须本地安装。
本地安装的话使用 Rustup
安装工具,它是专门用来管理 Rust 安装和版本管理的工具。就像 Node 中的 NVM。
Mac 系统使用如下命令安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装成功之后,可以查看安装版本。
cargo
是 Rust 的编译管理器、包管理器和通用工具。可以用来创建、启动、构建和运行新的 Rust 项目,并管理项目的依赖。rustc
是 Rust 编译器。可以直接运行来编译 Rust 代码。如果使用 cargo
,它会替我们调用 rustc
编译器。rustdoc
是 Rust 文档工具。在源代码中使用特定格式的注释编写文档,使用 rustdoc
即可构建格式良好的 HTML 文档。使用 Rustup
进行 Rust 更新。
rustup update # 更新到最新版本
rustup update <版本号> # 更新到特定版本
查看本地安装的 Rust 版本。其中 default
是默认使用的版本。
rustup toolchain list
切换 Rust 版本。
rustup default <版本号> # 切换到指定的版本
安装完成 Rust 之后,可以开始使用 Rust 编写程序。创建一个 HelloWord01
的 Rust 项目。
cd Desktop && mkdir HelloWorld01
cd HelloWord01 && touch main.rs
使用编辑器打开 main.rs
文件,并编写如下代码。main()
是 Rust 程序的入口。
fn main() {
println!("Hello World!");
println!("Hello Rust!");
}
然后使用 rustc
编译 main.rs
文件。
rustc main.rs
在项目目录中生成了 main
可执行文件。运行 main
可执行文件,即可得到如下输出。
在 Rust 中程序是需要通过编译之后才能进行运行。
在实际的开发中,推荐使用 Cargo
来创建项目。它是 Rust 的构建工具和包管理器。
了解更多细节可阅读 Cargo 官方手册。
Cargo 的常用命令如下:
cargo new <项目名>
创建一个 Rust 二进制项目。一般开发的项目都使用这个命令。cargo new --lib <库名>
创建一个 Rust 库项目。cargo build
编译当前项目。如果项目还未被编译过,或者源文件有更改,这个命令将会重新编译项目。cargo run
编译并运行你的项目。先运行 cargo build
,然后运行生成的可执行文件。cargo test
运行当前项目的测试。cargo doc
为当前项目生成 HTML 文档。cargo check
检查项目源文件的语法和类型错误,但是不生成可执行文件。该命令比 cargo build
更快,适合在编写代码的过程中频繁运行。cargo update
包管理器将根据 Cargo.toml
的定义,试图用最新版本的包来替换当前的包。cargo install
安装一个 Rust 的二进制文件。比如 cargo install ripgrep
将会安装 ripgrep 工具到你的系统中。下面使用 Cargo 来创建一个官方示例 hello-rust 项目。
cargo new hello-rust
项目结构如下:
Cargo.toml
是项目的清单文件,包含了项目的源数据和依赖库。src/main.rs
是项目的入口文件。其中 main()
函数是项目的入口函数。项目的代码编写在 src
目录下。Cargo.lock
是 Cargo 自动生成的文件,指定了项目依赖库的版本。target
目录中存放了 Cargo 构建的二进制文件,以及构建过程中产生的临时文件。cargo build
过程中的文件存放在 target/debug
目录。cargo build --release
构建的优化后的版本文件存放在 target/release
目录。使用 cargo run
编译并运行项目。
可以看到 target/debug
目录下有一个可执行文件 hello-rust
。这个文件就是项目打包之后的二进制文件。可以直接运行。
接下来添加依赖。在 Rust 中通常把包称为 crates
。可以在 crates.io 网站搜索需要的依赖包。
这里,我们在 Cargo.toml
中添加 [ferris-says](https://crates.io/crates/ferris-says)
库。
[dependencies]
ferris-says = "0.3"
然后运行 cargo build
来下载编译依赖库。
接下来,在 main.rs
中使用这个依赖库。
use ferris_says::say;
use std::io::{stdout, BufWriter};
fn main() {
let stdout = stdout();
let message = String::from("hello fellow Rustaceans!");
let width = message.chars().count();
let mut writer = BufWriter::new(stdout.lock());
say(&message, width, &mut writer).unwrap();
}
通过 cargo run
运行。
Rust 支持多种编辑器:
推荐使用 VS CODE。可以安装如下插件,提高编程体验:
rust-analyzer
必须安装 Rust 语言的源码分析工具,提供了代码自动补全、即时诊断、类型信息提示、跳转到定义等特性。CodeLLDB
一个由LLDB提供支持的本地调试器。调试 C++, Rust 等编译语言。crates
帮助 Rust 开发人员管理 Cargo.toml 的依赖关系。Even Better TOML
Toml 语言支持。本节教程源码地址:https://github.com/zcfsmile/RustLearning/tree/main/hello-rust
参考链接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。