Rust篇章一:安装使用

181 阅读3分钟

一、Rust环境搞起来

安装 Rust 的主要方式是通过 Rustup 这一工具,它既是一个 Rust 安装器又是一个版本管理工具。

使用环境:Windows 操作系统

安装包:Rust-x64安装包

如果是已安装Rust,可以输入以下命令进行更新为最新版本:rustup update

安装完成后,新打开一个PowerShell窗口查看是否安装成功:cargo --version

image.png

二、Rust基础命令了解下

安装 Rustup 时,会安装 Rust 构建工具和包管理器的最新稳定版,即 Cargo

  • cargo build 用于构建项目
  • cargo run 用于运行项目
  • cargo test 用于测试项目
  • cargo doc 为项目构建文档
  • cargo publish 可以将库发布到crates.io

目前只了解下,项目实际使用中,加深了解。

三、Rust程序员标准入门-hello-rust

1、新建并运行

搞一个rust的目录,新建一个项目hello-rust,此处使用PowerShell执行命令

cargo new hello-rust

image.png

了解下自动生成的一些文件,powershell下运行命令 Get-ChildItem -Recurse可以查看目录结构:

image.png

  • Cargo.toml 为 Rust 的清单文件。其中包含了项目的元数据和依赖库。
  • Cargo.lock [此处未出现,cargto build后生成]记录了本地所用依赖库的精确版本。
  • src/main.rs 编写代码的目录,也是程序的主入口。
  • *.gitignore* 初始化了一个新的 Git 存储库以及一个 .gitignore文件,cargo new 可以修改为不同的版本控制系统或者不使用版本控制系统--vcs, 可以运行cargo new --help查看可用选项。

查看下main.rs,可以看到已经自动生成了一段代码,powershell运行cat src/main.rs查看:

fn main() {
    println!("Hello, world!");
}

既然已有代码,直接运行,执行cargo run

image.png

生成的可执行文件在hello-rust\target\debug目录下,可以执行.\target\debug\hello-rust.exe

image.png

2、开发模式、发布模式了解下

发布模式适用于最终部署,而开发模式适用于日常开发和调试。你可以根据需要随时在这两种模式之间切换。

发布模式

  • 构建项目,可以使用以下命令:cargo build --release
  • 运行项目,可以使用:cargo run --release

这将在 target/release 目录中生成优化过的可执行文件,并在发布模式下运行项目。

开发模式

  • 构建项目,可以使用以下命令:cargo build
  • 运行项目,可以使用:cargo run

这将在 target/debug 目录中生成可执行文件,并在开发模式下运行项目。

切换模式: 如果你之前在发布模式下构建项目,但现在希望切换回开发模式,可以使用以下命令:

  • 构建项目,可以使用以下命令:cargo build --profile dev
  • 运行项目,可以使用:cargo run --profile dev

这将使用 --profile dev 选项切换到开发模式。

再来一个Rust程序

主要用来熟悉Rust如何使用第三方库,Rust可以在crates.io上找到丰富的类库。Rust中将包称作“crates”。

参照rust官网,玩下ferris_says::say

rust添加依赖库还不能像golang自动添加,需要在Cargo.toml中手动添加。

[package]
name = "hello-rust"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
ferris-says = "0.3.1"

然后修改src/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 build

image.png 运行:cargo run

image.png

到此为止,下回分解。

参考资料:

rust官网