文章目录

  • 安装 Rust
  • 查看是否安装成功
  • 更新与卸载 Rust
  • 本地文档
  • 开发工具
  • Hello World
  • 编写 Rust 程序
  • 编译与运行 Rust 程序
  • Rust 程序解剖
  • 编译和运行是单独的两步
  • Hello Cargo
  • 使用 Cargo 创建项目
  • Cargo.toml
  • src/main.rs
  • 构建Cargo 项目
  • 构建和运行cargo 项目
  • cargo check
  • 为发布构建


安装 Rust

  • 官网:https://www.rust-lang.org/
  • Linux or Mac:
  • curl https://rustup.rs -sSf | sh
  • Windows: 按官网指示操作
  • Windows Subsystem for Linux:
  • curl --proto ‘=https’ --tlsv1.2 -sSf https://sh.rustup.rs | sh

查看是否安装成功

rustc --version

rust语言 android_开发语言

更新与卸载 Rust

  • 更新 Rust
  • rustup update
  • 卸载 Rust
  • rustup self uninstall

本地文档

  • 安装Rust时,会在本地安装文档,可离线浏览
  • 运行rustup doc可在浏览器打开本地文档

开发工具

  • Visual Studio Code
  • Rust 插件
  • Clion(Intellij Idea 系列)
  • Rust 插件

Hello World

新建文件夹 mkdir hello_world 进入文件夹 cd h* 使用 VS Code 打开 code .

编写 Rust 程序

  • 程序文件后缀名:rs
  • 文件命名规范:hello_world.rs
fn main(){
    println!("Hello World");
}

编译与运行 Rust 程序

  • 编译:rustc main.rs
    编译成功了!

    可以看到VS Code 下多了两个文件,分别是main.exe和main.pdb。
  • 运行:
  • Windows:.\main.exe
  • Linux/mac:./main

Rust 程序解剖

  • 定义函数:fn main() { }
  • 没有参数,没有返回值
  • main函数:是每个Rust可执行程序最先运行的代码
  • 打印文本:println!(“Hello,world!”)
  • Rust 的缩进是4个空格,而不是Tab
  • println! 是一个Rust macro(宏)
  • 如果是函数,就没有 !
  • “Hello World”是字符串,它是println! 的参数
  • 此行代码以 ; 结尾

编译和运行是单独的两步

  • 运行 Rust 程序之前必须先编译,命令为:rustc 源文件名
  • rustc main.rs
  • 编译成功后,会先生成一个二进制文件
  • 在 Windows 上还会生成一个 .pdb 文件,里面包含调试信息。
  • Rust 是 ahead-of-time 编译的语言
  • 可以先编译程序,然后把可执行文件交给别人运行(无需安装 Rust)
  • rustc 只适合简单的 Rust 程序…

Hello Cargo

  • cargo 是Rust的构建系统和包管理工具
  • 构建代码、下载依赖的库、构建这些库
  • 安装Rust 时会安装 Cargo
  • cargo --version

使用 Cargo 创建项目

  • 创建项目:cargo new hello_cargo
  • 项目名称也是 hello_cargo
  • 会创建一个新的目录hello_cargo
  • Cargo.toml
  • src 目录
  • main.rs
  • 初始化了一个新的Git仓库 .gitignore
  • 可以使用其他的VCS或不使用VCS:cargo new 时使用 --vcs 这个flag

Cargo.toml

  • TOML(Tom’s Obvious,Minial Language)格式,是Cargo的配置格式
  • [package] 是一个区域标题,表示下方内容是用来配置包(package)的
  • name 项目
  • version 项目版本
  • authors 项目作者
  • edition 使用 Rust 版本
  • [dependencies] 另一个区域的开始,它会列出项目的依赖项
  • 在 Rust 里面,代码的包称作 crate

src/main.rs

  • cargo 生成的main.rs 在 src 目录下
  • 而Cargo.toml 在项目顶层下
  • 源代码都应该在src 目录下
  • 顶层目录可以放置:README、许可信息、配置文件和其他与程序源码无关的文件
  • 如果创建项目时没有使用cargo,也可以把项目转化为使用cargo:
  • 把源代码文件移动到src下
  • 创建Cargo.toml 并填写响相应的配置

构建Cargo 项目

  • cargo build
  • 创建可执行文件:target/debug/hello_cargo 或 target\debug\hello_cargo.exe(Windows)
  • 运行可执行文件:./target/debug/hello_cargo或 .\target\debug\hello_cargo.exe(Windows)
  • 第一次运行cargo build会在顶层目录生成cargo.lock文件
  • 该文件负责追踪项目依赖的精确版本
  • 不需要手动修改该文件

构建和运行cargo 项目

  • cargo run 编译代码 + 执行结果
  • 如果之前编译成功过,并且源代码没有改变,那么就会执行运行二进制文件

cargo check

  • cargo check 检查代码,确保能通过编译,但不产生任何可执行文件
  • cargo check 要比cargo build 快很多
  • 编写代码时可以连续反复使用cargo check 检查代码,提高效率

为发布构建

  • cargo build --release
  • 编译时会进行优化
  • 代码会运行的更快,但编译时间更长
  • 会在target/release 而不是 target/debug 生成可执行文件
  • 两种配置
  • 一个开发
  • 一个正式发布

建议:尽量使用 Cargo。