01-rust第一课
-1. rust介绍
Rust语法结构和C类语言类似,它可以用来替换 C()/C++(面向对象型),
0. 安装
如果你暂时不想在本地安装,或者本地安装有问题,对于我们初学者来说,也有一个方便、快捷的方式,就是 Rust 语言官方提供的一个网页端的 Rust 试验场open in new window,可以让你快速体验。
网页 Playground 非常方便,可以用来快速验证一些代码片段,也便于将代码分享给别人。如果你的电脑本地没有安装 Rust 套件,可以临时使用这个 Playground 学习。
在Mac OS
、 Linux
、windows的 WSL
中开发:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
如果想在 Windows 原生平台上开发 Rust 代码,首先需要确定安装 32 位的版本open in new window还是 64 位的版本open in new window。在安装过程中,它会询问你是想安装 GNU 工具链的版本还是 MSVC 工具链的版本。安装 GNU 工具链版本的话,不需要额外安装其他软件包。而安装 MSVC 工具链的话,需要先安装微软的 Visual Studioopen in new window 依赖。
以下为mac
安装示例
按1继续安装
1.其他Terminal指令
安装指令
(如上)
1. rustup update
2. rustup self uninstall
3. rustc --version
__
rustup update
rustup self uninstall
rustc --version #适用于windows!!!
rustc -V
这个是一个win10
的示例
![Bildschirmfoto 2023-10-26 um 02.09.22](./note1.assets/Bildschirmfoto 2023-10-26 um 02.09.22.png)
**信息内容 :rustc+版本号+(yyyy-mm-dd) **
4. rustc doc
rustc doc
view the lolal rust instruction document
5. 新建文档(文件夹)
mkdir+(文档名+. 文档格式)#不输入文档格式即为文件夹
6. 通过编译器进入文件夹
cd 文档名
或
cd *h #(打开上述文件 *h代表重复的名字)
提示
首先新建文件夹再新建项目是因为,rust的每个项目需要单独配套的一套环境。
其他命令
7. 新建项目
方法1
cargo new --bin main
方法2:
也可以先打开代码编译器,再由编译器创建项目
文件名 . #mac linux
#注意是 文件名(空格).
. code #windows
通过默认设置的代码编译器
打开该文件夹,一般为VS Code
!!项目最好单独建立在一个文件夹内
2. 编辑器 IDE
开发 Rust,除了下载、安装 Rust 本身之外,还有一个工具也推荐你使用,就是 VS Code。需要提醒你的是,在 VS Code 中需要安装 rust-analyzer 插件才会有自动提示等功能。你可以看一下 VS Code 编辑 Rust 代码的效果。
VS Code 功能非常强大,除了基本的 IDE 功能外,还能实现远程编辑。比如在 Windows 下开发,代码放在 WSL Linux 里面,在 Windows Host 下使用 VS Code 远程编辑 WSL 中的代码,体验非常棒。
其他一些常用的 Rust 代码编辑器还有 VIM、NeoVIM、IDEA、Clion 等。
提示
提示
JetBrains 最近推出了 Rust 专用的 IDE:RustRover
,如果有精力的话,你也可以下载下来体验一下。
@tab 推荐几个 Rust 的 VsCode 插件
- Rust Syntax:语法高亮
- crates:分析项目依赖
- Even Better Toml:项目配置管理
- Rust Test Lens:Rust快速测试
:::
3. 创建一个工程
打开终端,输入:
cargo new --bin hello_world
显示:
Created binary (application) `hello_world` package
这样就创建好了一个新工程。这个新工程的目录组织结构是这样的:
hello_world
├── Cargo.toml
└── src
└── main.rss
第一层是一个 src 目录和一个 Cargo.toml
配置文件。src 是放置源代码的地方,而 Cargo.toml
是这个工程的配置文件,我们来看一下里面的内容。
[package]
name = "helloworld"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
Cargo.toml 中包含 package 等基本信息,里面有名字、版本和采用的 Rust 版次。Rust 3 年发行一个版次,目前有 2015、2018 和 2021 版次,最新的是 2021 版次,也是我们这门课使用的版次。
在新建的项目内打开Terminal
可以执行 rustc -V
来查看我们课程使用的 Rust 版本。
rustc 1.69.0 (84c898d65 2023-04-16)
好了,一切就绪后,我们可以来看看 src 下的 main.rs
里面的代码。
fn main() {
println!("Hello, world!");
}
使用 cargo build
来编译。
$ cargo build
Compiling helloworld v0.1.0 (/home/mike/works/classes/helloworld)
Finished dev [unoptimized + debuginfo] target(s) in 1.57s
使用 cargo run
命令可以直接运行程序。
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.01s
Running `target/debug/helloworld`
Hello, world!
可以看到,最后终端打印出了 Hello, world。我们成功地执行了第一个 Rust 程序。
vs code 小技巧
项目内部的检查
命令 | 用途 | 举例 |
---|---|---|
cargo | Rust 的包管理器,构建工具和依赖解决器。可以使用 cargo 命令创建、编辑和构建 Rust 项目 | cargo new --bin my_project 可以创建-个名为 my_project 的新的 Rust 项目 |
ustup. | 用来升级维护 Rust 编译器套件的版本同时支持维护多个版本,并可用来安装Rust 组件 | rustup update stable 可将 Rust stable版本升级至最新 |
rust-fmt | 可用来对 Rust 代码按配置格式进行自动排版,用来统- Rust 代码风格 | 配合 cargo,直接在工程目录下运行 cargofmt 就可以对整个工程进行排版 |
rust-clippy | 可用来对 Rust 代码进行严谨性检查指出一些写得不规范的地方 | 配合 cargo,直接在工程目录下运行 cargoclippy 就可以对整个工程进行检查 |
测试
Rust 语言中自带单元测试和集成测试方案。
在 src/lib.rs
或 src/main.rs
中有以下测试代码:
fn foo() -> u32 { 10u32 }
#[cfg(test)] // 配置测试模块
mod tests {
use crate::foo;
#[test] // 单元测试
fn it_works() {
let result = foo(); // 调用被测试的函数或功能
assert_eq!(result, 10u32); // 断言
}
}
在项目目录下运行 cargo test
running 1 test
test tests::it_works ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s