Rust是一门专注于安全的系统编程语言,支持函数式和命令式以及泛型等编程范式。 Rust最初是由Mozilla研究院的Graydon Hoare设计创造,然后在Dave Herman, Brendan Eich以及很多其他人的贡献下逐步完善的,设计者设计的初衷是想要在保证性能的同时提供更好的内存安全。
Rust编译器是在MIT License 和 Apache License 2.0双重协议声明下的免费开源软件。 Rust已经连续七年(2016 - 2022)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠。
安全、可靠、高效
rust的安装是通过 rustup
完成的,只需要在官网下载rustup,就会自动安装配置好系统变量
在 Windows 上,前往 https://www.rust-lang.org/install.html 并按照说明安装 Rust
运行rust还需要安装 Visual Studio 2022环境,并且安装以下模块
之后如果使用VScode作为开发ide,安装以下插件:
rust程序代码文件的后缀名是.rs,新建一个.rs 文件开始编写程序:
fn main() {
println!("Hello, world!");
}
fn main()
作为程序的主函数存在,它总是最先运行的代码,也没有返回值,println!
则是一个Rust 宏,这个在后续会提到,在windows 命令行中,使用如下命令编译刚刚写出的程序:
> rustc main.rs
> .\main.exe
Hello, world!
此时rust会将刚刚编写代码编译成一个可执行文件main.exe,以及当使用 CMD 时会有一个包含调试信息、扩展名为 .pdb 的文件
rust推荐使用 Cargo 来管理他们的 Rust 项目,类似java里面的maven和node里的npm,它通过编写配置文件来导入对应的包,同时也具有lock这样的机制,在命令行写入以下命令来创建一个rust项目:
cargo new hello_cargo
创建后生存了一个 Cargo.toml 文件和 src 目录,其中包含一个 main.rs 文件,toml文件就是cargo的配置文件,其默认内容如下:
[package]
#项目的配置信息
name = "hello_cargo" #项目的名称
version = "0.1.0" #项目的版本
edition = "2021" #Rust 版本
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
#依赖
我们可以使用如下几种的方式来导入一个包
[dependencies]
rand = "0.3.14" #从crates.io导入0.3.14版本的rand包
rand = { git = "https://github.com/rust-lang-nursery/rand" } #从git导入
bar = { path = "../bar" } #本地导入
每次初始化和新增依赖后,我们需要构建我们的项目,使用如下的命令
cargo build
构建后,将会新增target文件夹和根 .lock 文件,在 target\debug\hello_cargo.exe 生成了我们需要的可执行文件,而 .lcok 文件里面记录了每个库使用的精确的版本。之后构建的时候会直接读取该文件并使用里面的版本。
Cargo只有在你希望它更新的时候才会更新新版本,手动修改Cargo.toml里的版本成新的版本号或者运行cargo update。
使用如下的命令可以同时编译并运行生成的可执行文件,在开发中一般使用这个:
cargo run
使用如下命令可以检查代码是不是存在语法错误:
cargo check
当你需要最终编译发布你的程序时,使用如下命令优化编译:
cargo build --release