Rust入门
安装
以下内容皆基于MAC
👉Windows及其他安装
rust安装器和包管理工具
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
👆命令执行失败走👇 安装镜像
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/r...
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/r...
curl https://sh.rustup.rs -sSf | sh
结果如下👇
~ ➤ curl https://sh.rustup.rs -sSf | sh
info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
...
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: x86_64-apple-darwin
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
选择输入 1 为稳定版本👇出现以下代码就完成了
...
To configure your current shell, run:
source $HOME/.cargo/env
之后执行👇,保存配置
source $HOME/.cargo/env
更新
rustup update
卸载
rustup self uninstall
> cargo Rust 的构建工具和包管理器
cargo build // 可以构建项目
cargo run // 可以运行项目
cargo test // 可以测试项目
cargo doc // 可以为项目构建文档
cargo publish // 可以将库发布到 crates.io。
cargo --version // 要检查您是否安装了 Rust 和 Cargo
启动一个项目
创建项目
cargo new hello-rust
hello-rust
|- Cargo.toml // Rust 的清单文件。其中包含了项目的元数据和依赖库
|- src
|- main.rs // 编写应用代码
运行项目
cargo run
Compiling hello-rust v0.1.0 (/Users/ag_dubs/rust/hello-rust)
Finished dev [unoptimized + debuginfo] target(s) in 1.34s
Running `target/debug/hello-rust`
Hello, world!
添加依赖
👉rust仓库库
Cargo.toml的[dependencies]下面添加依赖
[dependencies]
ferris-says = "0.2"
cargo build // 安装依赖
运行此命令会创建一个新文件 Cargo.lock,该文件记录了本地所用依赖库的精确版本
安装依赖失败可以配置镜像
cd ~/.cargo // 进入cargo根目录,Windows详见参考资料
cat > config // 创建config文件,直接输入👇代码
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
换行 Ctrl + D 保存即可
之后重新执行 cargo build 就可以了~
使用依赖
main.rs中删除代码,写入👇代码
use ferris_says::say; // 可以使用 ferris-says crate 中导出的 say 函数
创建一个应用
main.rs
use ferris_says::say; // from the previous step
use std::io::{stdout, BufWriter};
fn main() {
let stdout = stdout();
let message = String::from("Hello fellow Rustaceans!");
let width = message.chars().count();
let mut writer = BufWriter::new(stdout.lock());
say(message.as_bytes(), width, &mut writer).unwrap();
}
cargo run
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。