大家好,我是鱼樱!!!
关注公众号【鱼樱AI实验室】
持续分享更多前端和AI辅助前端编码新知识~~
不定时写点笔记写点生活~写点前端经验。
在当前环境下,纯前端开发者可以通过技术深化、横向扩展、切入新兴领域以及产品化思维找到突破口。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
前端最卷的开发语言一点不为过,三天一小更,五天一大更。。。一年一个框架升级~=嗯,要的就是这样感觉!与时俱进~
rust是什么
- Rust 中文官方网站:www.rust-lang.org/zh-CN
- Rust 官方文档:doc.rust-lang.org/
- Rust Play:play.rust-lang.org/
- Visual Studio Code:code.visualstudio.com/
Rust 是由 Mozilla 主导开发的高性能编译型编程语言,遵循"安全、并发、实用"的设计原则。
Rust 语言由 Mozilla 开发,首次发布于 2010 年。
Rust 支持多种编程范式,包括函数式、并发式、过程式和面向对象风格。
Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。
Rust 语言的特点
- 内存安全:Rust 的所有权系统在编译时防止空悬指针、数据竞争等内存错误,无需垃圾收集器。
- 并发编程:Rust 提供了现代的语言特性来支持并发编程,如线程和消息传递,使得编写并发程序更加安全和容易。
- 性能:Rust 编译为机器码,没有运行时或垃圾收集器,能够提供接近 C 和 C++ 的性能。
- 类型系统:Rust 的类型系统和模式匹配提供了强大的抽象能力,有助于编写更安全、更可预测的代码。
- 错误处理:Rust 的错误处理模型鼓励显式处理所有可能的错误情况。
- 宏系统:Rust 提供了一个强大的宏系统,允许开发者在编译时编写和重用代码。
- 包管理:Rust 的包管理器 Cargo 简化了依赖管理和构建过程。
- 跨平台:Rust 支持多种操作系统和平台,包括 Windows、macOS、Linux、BSDs 等。
- 社区支持:Rust 有一个活跃的社区,提供了大量的库和工具。
- 工具链:Rust 拥有丰富的工具链,包括编译器、包管理器、文档生成器等。
- 无段错误:Rust 的所有权和生命周期规则保证了引用的有效性,从而避免了段错误。
- 迭代器和闭包:Rust 提供了强大的迭代器和闭包支持,简化了集合的处理。
Rust可以做什么
- 系统编程:操作系统、设备驱动程序、嵌入式系统等。
- 网络编程:网络服务器、Web 服务、分布式系统等。
- 游戏开发:游戏引擎、游戏工具、游戏客户端和服务器。
- WebAssembly:在 Web 浏览器中运行的高性能 Web 应用。
- 工具开发:命令行工具、自动化脚本、系统管理工具。
- 区块链技术:智能合约、加密货币、去中心化应用(DApps)。
- 科学计算:数值分析、数据科学、机器学习。
- 音视频处理:媒体服务器、流处理、编解码器。
- 云计算:云服务后端、容器技术、微服务架构。
- 嵌入式设备:IoT 设备、智能家居设备、可穿戴设备。
安装
官网下载 rustup-init.exe (window为例 其他的参考官网即可)
由于 rust 安装过程中会使用网络下载文件,默认从国外下载,也可 配置 rust 安装镜像源 (我是中文网下载的直接安装了)。
需要配置环境变量 RUSTUP_DIST_SERVER
(默认指向 static.rust-lang.org)和 RUSTUP_UPDATE_ROOT
(默认指向static.rust-lang.org/rustup),让其指向国内源。
sh
# 清华大学
RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
# 中国科学技术大学
RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
# 上海交通大学
RUSTUP_DIST_SERVER=https://mirrors.sjtug.sjtu.edu.cn/rust-static/




下载好双击执行,会出现如下界面 选 1 (其他2个看个人情况【2:手动安装先决条件】【3:不要安装必备软件】 一般1就好了) 然后会安装 Visual Studio ,确认安装进入如下界面,并点击继续:


出现如下 回车即可

安装好如下

查看安装版本
sh
rustc --version
#OR
rustc -V

编译 rust文件 .rs结尾 文件
sh
rustc test.rs # 编译 test.rs 文件
Rust 的编译工具依赖 C 语言的编译工具,这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统,往往已经具备了 GCC 或 clang。如果你使用的是 macOS,需要安装 Xcode。如果你是用的是 Windows 操作系统,你需要安装 Visual Studio 2013 或以上的环境(需要 C/C++ 支持)以使用 MSVC 或安装 MinGW + GCC 编译环境(Cygwin 还没有测试)
更新命令
sh
rustup update
IDE 选择

这里我选 vscode
即可,同时安装 安装 rust-analyzer
和 Native Debug
两个扩展

配置 cargo
的国内镜像源
rust 安装完成后,我们的用户目录下会出现 .cargo 文件夹
在 .cargo 文件夹下新建 config.toml
文件( config
被弃用取代的是 config.toml
),加入如下配置:
sh
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 替换成你偏好的镜像源
replace-with = 'tuna'
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
# 中国科学技术大学
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"
这样安装配置完成

关于Cargo
在 Rust 开发中,几乎所有的项目都是使用 Cargo 来进行管理和构建的,因为它提供了便捷的工作流程和强大的功能,使得 Rust 开发变得更加高效和可靠。
Cargo 是什么
Cargo 是 Rust 的官方构建系统和包管理器。它主要有两个作用:
主要有两个作用:
- 项目管理:Cargo 用于创建、构建和管理 Rust 项目。通过 Cargo,你可以轻松地创建新项目,管理项目的依赖关系,并执行项目的构建、运行和测试等操作。
- 包管理器:Cargo 还充当了 Rust 的包管理器。它允许开发者在项目中引入和管理依赖项(如第三方库),并确保这些依赖项的版本管理和兼容性。
Cargo 主要特性和功能:
- 依赖管理 :Cargo 通过
Cargo.toml
文件管理项目的依赖,这个文件列出了项目所需的所有外部库以及它们的版本。 - 构建系统:Cargo 使用 Rust 编译器(rustc)来构建项目,它会自动处理依赖的编译和链接。
- 包注册表 :Cargo 与 crates.io 这个 Rust 社区的包注册表交互,允许开发者搜索、添加和管理第三方库。
- 构建配置 :通过
Cargo.toml
和Cargo.lock
文件,Cargo 允许开发者配置构建选项,如编译器选项、特性(features)和目标平台。 - 项目模板 :Cargo 提供了创建新项目的模板,可以通过
cargo new
命令快速启动新项目。 - 测试 :Cargo 提供了一个简单的命令
cargo test
来运行项目的单元测试。 - 基准测试 :Cargo 支持使用
cargo bench
命令进行基准测试。 - 发布 :通过
cargo publish
命令,开发者可以将他们的库发布到 crates.io 上,供其他开发者使用。 - 自定义构建脚本:Cargo 允许使用自定义的构建脚本来处理更复杂的构建需求。
- 多目标项目:Cargo 支持在一个项目中定义多个目标,如可执行文件、库、测试和基准测试。
- 跨平台构建:Cargo 支持跨多个平台构建 Rust 程序,包括 Windows、macOS、Linux 以及各种嵌入式系统。
- 构建缓存:为了加快构建速度,Cargo 使用构建缓存来存储编译后的依赖。
- 离线工作:Cargo 支持在没有互联网连接的情况下工作,它会自动使用本地缓存的依赖。
- 插件系统:Cargo 允许开发者编写插件来扩展其功能。
- 环境变量:Cargo 支持通过环境变量来覆盖默认的构建和运行行为。
Cargo 功能
Cargo 除了创建工程以外还具备构建(build)工程、运行(run)工程等一系列功能,构建和运行分别对应以下命令:
cargo new <project-name>
:创建一个新的 Rust 项目。cargo build
:编译当前项目。cargo run
:编译并运行当前项目。cargo check
:检查当前项目的语法和类型错误。cargo test
:运行当前项目的单元测试。cargo update
:更新 Cargo.toml 中指定的依赖项到最新版本。cargo --help
:查看 Cargo 的帮助信息。cargo publish
:将 Rust 项目发布到 crates.io。cargo clean
:清理构建过程中生成的临时文件和目录。
第一个rust程序
hello world 程序

碰到问题
cargo build
时碰到 Blocking waiting for file lock on package cache
原因是Cargo 无法获取对包缓存的文件锁,
有时vscode中项目比较多,如果其中某些库应用有问题,rust-analylzer
转圈圈的时候容易碰到这个情况。
如果确定没有其他程序占用,执行以下命令(或者暂停rust-analyzer
,或者把有问题的项目移出vscode) rm -rf ~/.cargo/.package-cache
执行之后就可以cargo build
了。