这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战
Hello World
学习任何一门编程语言,都要仪式性的输出hello world
,现在就来看一下如何使用Rust输出hello world
吧!
Rust程序开发基本常识
- 程序源代码文件后缀名为
.rs
- 程序文件命名规范为小写字母加下划线,比如
hello_world.rs
// hello world.rs
fn main() {
println!("hello world");
}
// fn 表示函数
// main 表示函数名,()内是参数
// {}内是函数体代码
// 代码以分号结束
// 程序代码缩进是4个空格
Rust程序的编译和运行
rustc
- 编译
rustc xxx.rs
# c表示compile(编译)的意思
- 运行
# windows
./xxx.exe
# linux/mac
./xxx
- 编译和运行是单独的两步
① 运行Rust程序之前必须先编译,`rustc 程序文件名`,比如:`rustc main.rs`
② 编译成功后会生成一个二进制文件,在Windows系统上以`.exe`结尾,在Linux/mac上没有后缀,在Windows上还会生成一个`.pdb`文件,里面包含程序的调试信息
③ Rust是一种预编译(ahead of time)的语言,可以先编译程序,然后把可执行文件交给别人运行(无需安装Rust)
④ rustc实际上只适合简单的Rust程序,更复杂大型的程序就需要用到cargo
cargo
验证cargo 是否安装成功
cargo 是Rust的构建系统和包管理工具,能够构建项目代码、下载依赖库、构建库,在安装Rust时会自动安装cargo , 判断cargo 是否正确安装的方法就是在命令行中输入下述命令:
cargo --version
# 如果结果是酱紫的就是安装成功了:cargo 1.56.0 (4ed5d137b 2021-10-04)
使用cargo 创建项目
如何使用cargo 创建项目呢?就是使用下述命令:
# cargo new 项目名称
cargo new hello_cargo
使用cargo 创建项目成功后,项目目录结构如下(如果使用VSCode并安装了rust相关插件,可能会出现target
目录和Cargo.lock
文件)。
cargo生成的main.rs在src目录下,源代码都应该放在src目录下,顶层目录可以放置README、许可信息、配置文件和其他与程序无关的文件; 如果创建项目时没有使用cargo,也可以将项目转化为使用cargo,方法就是把源代码文件移动到src目录下,创建Cargo.toml并填写相关配置。
hello_cargo[项目顶级目录]
----src[放程序源代码]
----main.rs
----.gitignore[初始化了git仓库]
----Crago.toml
Cargo.toml 介绍
toml (Tom's Obvious, Minimal Language)格式,是Cargo 的配置格式。
[package] # 区域标题,表示下方内容是用来配置包的,需要注意的是,在rust中,代码的包或者库称作crate
name = "hello_cargo" # 项目名
version = "0.1.0" # 项目版本
edition = "2021" # 使用的rust版本
[dependencies] # 另一个区域的开始,在这一个区域中会列出项目的依赖项
cargo build 构建项目
cargo build 命令会创建一个可执行文件,文件所在目录如下,可执行文件创建成功后就可以运行可执行文件了。
# windows目录
target\debug\hello_cargo.exe
# linux/mac目录
target\debug\hello_cargo
第一次运行cargo build 会在顶层目录生成Cargo.lock 文件,该文件负责追踪项目依赖的精确版本,不要手动修改该文件。
cargo run 构建和运行cargo 项目
cargo run 命令是对代码进行编译和执行,将编译和执行这两步合成一步,如果项目之前编译成功过并且源代码没有变化,那么再次运行cargo run 命令时就会直接运行二进制文件,而不会重复进行编译。
cargo check
该命令可以用来检查代码,确保能够通过编译,但是不产生任何可执行文件,该命令比cargo build 命令快的多,在编写代码的时候可以连续反复的使用cargo check 检查代码提高开发效率。
为发布构建cargo build --release
如果程序开发完成准备正式发布给用户时,就需要使用cargo build --release,该命令会进行优化,优化后代码运行的更快,但是编译的时间更长。
使用该命令构建的可执行文件会在targe/release
目录下而不是在target/debug
目录下。
总结
说了这么多就是建议在做的XDM使用cargo 进行项目创建、构建和发布。
结语
文章首发于微信公众号程序媛小庄,同步于掘金。
码字不易,转载请说明出处,走过路过的小伙伴们伸出可爱的小指头点个赞再走吧(╹▽╹)