1. 安装

1.1 rustup

使用命令行工具rustup完成对rust的下载与安装。
linux下:

1
curl https://sh.rustup.rs -sSf | sh

这个命令会自动下载与安装rust,期间需要选择安装方式(我使用了default),然后想在当前shell生效,还需执行source $HOME/.cargo/env(可以关闭当前shell,新开一个shell也行)

1.2 other

  • rustup还用于管理不同的Rust发行版本以及附带的工具链。

2. hello world

编写main.rs如下

1
2
3
fn main(){
    println!("hello world");
}

编译:

1
rustc main.rs

运行:

1
./main

3. Cargo

编程语言经过几十年发展,意识到必须有一个好用的包管理器,以及一个较完美的项目构建方案。rust提供了Cargo解决这两个大问题。

使用Cargo安装第三方包、管理项目依赖、进行项目构建十分方便。

Cargo用一个Cargo.toml文件来记录依赖,并在cargo build时自动生成与维护一个cargo.lock文件

3.1 用Cargo新建一个项目:

1
cargo new project_name;

生成的项目结构如下:

1
2
3
4
5
project_name/
    src/
        main.rs
    .git/
    .gitignore
  • 自动初始化一个git本地仓库,并添加一个.gitignore文件。可以使用选项–vcs来取消使用版本控制功能。
  • 源代码放在src目录下

3.2 cargo check

使用cargo check检查编译是否通过,而避免生成二进制文件。这个功能有效减少编译花费,以及编译失败的时间代价。

3.3 cargo build

使用cargo build进行构建,会在项目下新建target文件夹,格式为

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
project_name\
    ...
    cargo.lock
    target\
        CACHEDIR.TAG
        debug\
            build\
            deps\
            examples\
            project_name
            project_name.d
            incremental\
    ...

其中project_name为项目的可执行文件,可以./target/debug/project_name运行项目,也可以使用cargo run运行。

3.3.1 cargo build –release

  • 使用命令cargo build --release在优化模式下构建并生成可执行文件。
  • 产生的文件存放于target/release文件夹下
  • release会花费更多的构建时间,对代码进行优化以获得一个性能更优秀的可执行文件。

4. rust编码风格

参考rustfmt