Rust 环境配置与起步¶
本文以 MacOS 为例展示如何安装 Rust 👀
配置 rustup 环境¶
安装 Rustup
| Bash | |
|---|---|
1 2 3 4 | |
检查
| Bash | |
|---|---|
1 2 3 4 5 6 | |
更新与卸载
| Bash | |
|---|---|
1 2 3 4 | |
基于 rustup 写代码¶
| Bash | |
|---|---|
1 2 3 4 5 6 | |
编译语言与动态语言
如果你更熟悉动态语言,如 Ruby、Python 或 JavaScript,则可能不习惯将编译和运行分为两个单独的步骤。
Rust 是一种 预编译静态类型(ahead-of-time compiled) 语言,这意味着你可以编译程序,并将可执行文件送给其他人,他们甚至不需要安装 Rust 就可以运行。
如果你给他人一个 .rb、.py 或 .js 文件,他们需要先分别安装 Ruby,Python,JavaScript 实现(运行时环境,VM)。不过在这些语言中,只需要一句命令就可以编译和运行程序(python a.py)。这一切都是语言设计上的权衡取舍。
基于 cargo 写项目¶
仅仅使用 rustc 编译简单程序是没问题的,不过随着项目的增长,你可能需要管理项目的方方面面,并让代码易于分享。
此时,还在执着地用rustc就显得单纯了 😬 这里我们介绍 Cargo 🚀
🔥 Cargo 是 Rust 的构建系统和包管理器,它可以为你处理很多任务,比如构建代码、下载依赖并编译这些库 🔥
安装
按照上述的流程走完,按常理就已经顺带安装好了cargo,我们可以检查一下:
| Bash | |
|---|---|
1 | |
项目构成
- TOML: Cargo 配置文件
- Cargo 期望源文件存放在
src/目录中。项目根目录只存放README、license、配置文件(toml) 和 其他跟代码无关的文件 - 可执行文件: 在
cargo build之后,出现在$PROJ/target/debug/xxx
指令使用
| Bash | |
|---|---|
1 2 3 4 5 6 7 8 | |
高效的插件¶
rustfmt 自动格式化¶
安装
| Bash | |
|---|---|
1 | |
这会提供 rustfmt 和 cargo-fmt,类似于 Rust 同时安装 rustc 和 cargo.
格式化
| Bash | |
|---|---|
1 2 | |
clippy 自动 lint¶
安装
| Bash | |
|---|---|
1 | |
格式化 (lint)
| Bash | |
|---|---|
1 2 | |
rust-analyzer on VSCode¶
VSCode 和 rust-analyzer 更配哦 🎉
自动补全、跳转到定义和 inline error ...
TL;DR¶
用 cargo 构建 rust 项目 🚚 🚢 ✈️
创建一个新项目
| Bash | |
|---|---|
1 | |
构建(compile + build)
| Bash | |
|---|---|
1 | |
运行
| Bash | |
|---|---|
1 | |
调试编译错误(仅compile)
| Bash | |
|---|---|
1 | |
lint
| Bash | |
|---|---|
1 | |