安装rust
- 官网:https://www.rust-lang.org/
- 更新:rustup update
- 卸载:rustup self uninstall
- 查看版本 rustup --version
rust程序解剖
fn main(){}
- 没有参数,没有返回值
- main函数很特别:它是每个rust可执行程序最先运行的代码
- 打印文本:
println!("hello, world");
- rust的缩进是4个空格而不是tab
- println!是rust macro(宏)
- 如果是函数的话,就没有!
- "hello, world"是字符串,它是println!的参数
- 这行代码以;结尾
cargo
- cargo是rust的构建系统的包管理工具
- 构建代码、下载依赖库、构建这些库…
- 安装rust的时候会安装cargo
- 查看版本:cargo --version
cargo.toml
- toml格式,是cargo的配置格式
- [pacakge] 是一个区域标题,表示下发内容是用来配置包的
- 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.ext(windows)
- 运行可执行文件:target/debug/hello_cargo或target/debug/hello_cargo.ext(windows)
- 第一次运行cargo build 会在顶层目录下生产cargo.lock文件
- 该文件负责追踪项目依赖的精确版本
- 不需要手动修改改文件
构建和运行cargo项目
- cargo run 编译代码+执行结果
- 如果之前编译成功过,并且源码没有改变,那么就会直接运行
cargo check
- cargo check,检查代码,确保能通过编译,但是不产生任何可执行文件
- cargo check要比cargo build快很多
- 编写代码的时候可以连续反复的使用cargo check检查代码,提高效率
为发布构建
- 编译是会进行优化
- 代码会运行的更快,但是编译时间更长
- 会在target/release而不是target/debug生产可执行文件
两种配置