Rust 是一种系统级编程语言,rust-lang.org 有一个很棒的定义:
“一种使每个人都能够构建可靠和高效软件的语言。
我喜欢 Rust,它不仅强大而且非常安全。它的所有权模型可以消除许多常见错误。但是对于 C#、Java 和 JavaScript 等语言的程序员来说,学习曲线可能有点陡峭。
本文旨在对 Rust 及其工具链进行简单的介绍。如果想深入地了解可以看下面的内容
我们开始入门 Rust 吧!
首先你需要一个开发环境,你可以使用本地的环境,但我们推荐使用 https://GeekCode.cloud 云开发环境,上面有 Rust 的依赖库和编译加速功能,可以让你更方便的使用 rust 功能。打开 GeekCode 后我们选择 Rust 环境,就可以操作下面的命令了。
有几种方法可以在你的系统上安装 Rust(你甚至可以在不安装的情况下试用它(https://geekcode.cloud))。有两个关键组成部分需要了解:
我们可以:
我们安装了 rustup 或直接使用云环境后,可以尝试以下命令:
$ rustup -v
$ rustup check
$ rustup update
现在我们的 Rust 已经开始运行了,让我们进入 cargo。
Cargo cli 工具是我们最常使用的工具。它负责运行构建、运行测试和准备项目以供发布。我们还用 cargo 打包 Rust(在 Rust 中包被称为 crates),我们可以在 crates.io 上查看全部的 crate。
首先,我们来创建一个项目,然后了解一些常见的 cargo 选项。
$ cargo new {project_name}
-lib
选项)。$ cargo check
$ cargo build
$ cargo clean
$ cargo run
$ cargo test
默认情况下,cargo build
和 cargo run
将在 DEBUG 模式下构建项目。要构建项目以发布到生产环境,请将 --release
参数添加到 cargo —
$ cargo [build|run] --release
当你构建一个 Rust 项目时,无论结果如何,都会创建一个 target 文件夹,并在其下方提供相关的构建配置。在 DEBUG 中构建时,文件夹结构将如下所示 -
…/project_root/target/debug/{build artefacts}
Rust 是一种编译语言,这意味着默认情况下,将使用运行的机器架构编译进行构建工作。Rust 还支持交叉编译,允许我们构建二进制文件在其他架构上执行。
例如,Rust 编译为 WebAssembly (https://www.rust-lang.org/what/wasm)!,我们可以像这样在 cargo build 命令中添加一个目标——
$ cargo build --release --target=wasm32-unknown-unknown
这将创建以下文件夹结构(需要添加 --release
参数,和生成的子文件夹)-
…/project_root/target/wasm32-unknown-unknown/release/{build artefacts}
Rust 有一个内置的格式化程序,你可以阅读这里 (https://github.com/rust-lang/rustfmt)。安装后,我们可以运行 -
$ cargo fmt
这会将代码格式化为 Rust 编码标准。如果我们想自定义样式,可以通过 添加 rustfmt.toml 在你的项目。
Rust 有一个用于代码提示和指导的内置工具(即 linter),称为 clippy,详细内容在 Clippy 的 GitHub 页面(https://github.com/rust-lang/rust-clippy) 。运行 clippy 将分析代码并为我们提供建议和改进:
$ cargo clippy
我们可以通过多种方式配置 Clippy,但对于初学者使用 clippy 严格建议非常有帮助。只需在我们的 main.rs中首行添加:
#![warn(clippy::all,clippy::pedantic)]
Clippy 的建议有很多级别,但默认 pedantic 级别审查,通常已经足够。
我们现在应该能够创建一个新的 Rust 项目并且对 Rust 工具链、linter 和建议有一个很好的了解。
Rust 标准库虽然很棒,但我们仍需要利用 Rust 社区贡献的许多第三方库。
所以接下来,我们会继续介绍Rust 的包管理。
Stay Rusty!
加入 GeekCode Community 参与定义 Cloud Base IDE
点击【阅读原文】访问 GeekCode