rust语言 - hello,world

2024-04-18 233点热度 0人点赞 0条评论

安装

步骤一:设置 Rustup 镜像, 修改配置 ~/.zshrc or ~/.bashrc

export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"

步骤二:安装 Rust(请先完成步骤一的环境变量导入并 source rc 文件或重启终端生效)

curl --proto '=https' --tlsv1.2 -sSf https://rsproxy.cn/rustup-init.sh | sh

步骤三:验证

cargo -V
rustc -V 

hello world

cargo new hello_world
cd hello_world

# 运行方式1
cargo run

# 运行方式2 编译和运行
cargo build
./target/debug/hello_world
  • 在 debug 模式下,Rust 编译器不会做任何的优化,只为了尽快的编译完成,让你的开发流程更加顺畅。
  • 在 release 模式下,更注重运行时性能。开启方式
    • cargo run --release
    • cargo build --release

cargo check

当项目大了后,cargo run 和 cargo build 不可避免的会变慢,因为Rust 需要做很多复杂的编译优化和语言特性解析。
使用 cargo check 快速的检查一下代码能否编译通过。因此该命令速度会非常快,能节省大量的编译时间。

Cargo.toml 和 Cargo.lock

  • Cargo.toml 是 cargo 特有的项目数据描述文件。它存储了项目的所有元配置信息,如果 Rust 开发者希望 Rust
    项目能够按照期望的方式进行构建、测试和运行,那么,必须按照合理的方式构建 Cargo.toml。即 包管理,类似go的go.mod
  • Cargo.lock 文件是 cargo 工具根据同一项目的 toml 文件生成的项目依赖详细清单,因此我们一般不用修改它,只需要对着
    Cargo.toml 文件撸就行了。类似 go的 go.lock
什么情况下该把 Cargo.lock 上传到 git 仓库里?
很简单,当你的项目是一个可运行的程序时,就上传 Cargo.lock,
如果是一个依赖库项目,那么请把它添加到 .gitignore 中。

定义项目依赖

  • 基于 Rust 官方仓库 crates.io,通过版本说明来描述
  • 基于项目源代码的 git 仓库地址,通过 URL 来描述
  • 基于本地项目的绝对路径或者相对路径,通过类 Unix 模式的路径来描述

下载国外依赖包

1. 开启代理

2. 使用国内镜像

cargo >=1.68 版本开始支持稀疏索引,不再需要完整克隆 crates.io-index 仓库,可以加快获取包的速度

科大镜像

[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "sparse+https://mirrors.ustc.edu.cn/crates.io-index/"

字节跳动

[source.crates-io]
replace-with = 'rsproxy-sparse'

[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
[registries.rsproxy]
index = "https://rsproxy.cn/crates.io-index"
[net]
git-fetch-with-cli = true

参考

https://course.rs/about-book.html

mylomen

本人从事 JAVA 开发10多年,将之前整理的笔记分享出来,希望能够帮助到努力的你。

文章评论