Rust 学习笔记 01

由于之前我需要使用到 WASM ,分析了一波以后决定 使用 Rust 来进行开发,就有了这篇学习笔记。

第 01 篇:主要了解一下 Rust 工具链三大组件、Rust 能做什么

Rust 工具链三大组件

1. rustc --- Rust 编译器

把 .rs 源代码编译成可执行文件。类似于 gcc(C语言)或 javac(Java)。

2. cargo --- 包管理器 + 构建工具

相当于前端的 npm,Python 的 pip。核心功能:

功能 命令示例
创建项目 cargo new my-project
添加依赖 在 Cargo.toml 中写依赖,cargo build 自动下载
编译运行 cargo build / cargo run
运行测试 cargo test
发布库 cargo publish(发布到 crates.io)

3. rustup --- Rust 版本管理器

管理 Rust 本身的安装和更新,类似于 Node 的 nvm。核心功能:

功能 命令示例
更新 Rust rustup update
切换版本 rustup default stable/nightly
安装交叉编译目标 rustup target add wasm32-unknown-unknown
查看已安装工具链 rustup show

简单类比

复制代码
rustup  →  管理 "Node.js 版本"(nvm)
cargo   →  管理 "npm 包和项目构建"(npm + webpack)
rustc   →  实际编译代码的编译器(tsc / babel)

Rust 能做什么

1. 系统编程

  • 操作系统、驱动程序、嵌入式开发
  • 代表作:Linux 内核已接受 Rust 代码,Windows 部分组件用 Rust 重写

2. WebAssembly (WASM)

  • 把 Rust 编译成 WASM,在浏览器中高速运行
  • 你的项目 wasm-crypto/ 就是这个用途------加密算法跑在前端

3. Web 后端 / CLI 工具

  • 高性能 Web 服务:Actix-web、Axum 框架
  • 命令行工具:ripgrep(比 grep 快)、bat(更好用的 cat)
  • 比 Go 更底层控制,比 C++ 更安全

4. 游戏开发

  • Bevy 引擎(ECS 架构,纯 Rust)
  • 适合需要高性能的独立游戏

5. 区块链 / 加密

  • Solana、Polkadot 等区块链用 Rust 写智能合约
  • 性能高 + 内存安全,适合金融场景

6. 跨平台桌面应用

  • Tauri(替代 Electron,体积小 10 倍+)
  • 用 Rust 做后端 + Web 前端,打包成桌面应用

7. 网络 / 并发

  • Tokio 异步运行时,处理高并发连接
  • 代理、网关、数据库等基础设施

Rust 的核心优势

特点 说明
内存安全 编译期检查,没有空指针、数据竞争
零成本抽象 高级语法,编译后和手写 C 一样快
无 GC 不需要垃圾回收,性能可预测
跨平台 编译到 Linux/Windows/macOS/WASM/嵌入式

简单总结

复制代码
想写高性能 + 高安全性代码 → 选 Rust
想替代 C/C++ 但不想踩内存坑 → 选 Rust
想让前端跑重型计算(WASM)→ 选 Rust

我项目里的 wasm-crypto 就是用 Rust 写复杂的 计算逻辑 编译成 WASM,比纯 JS 更快,同样的维护成本也比 JS 高。

相关推荐
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20163 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本3 天前
离散数学第六课
学习·离散数学
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
旖旎夜光3 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
Because_of_Her13 天前
并查集-听课笔记
笔记·算法·并查集
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio