“除了安全和性能,我们还有:
- 泛型;
- 特征;
- 代数类型;
- 函数式和命令式范式;
- 可能是世界上最好的依赖管理和构建工具,实际上解决了‘依赖地狱’问题;
- 对内嵌文档、测试和性能评测的美妙支持;
- 一个大的且正在生长的库、抽象、工具生态;
- 过程宏;
- 与已有代码的 FFI 交互性;
- 支持一打平台(更多的在路上!);
- 对开发者体验是正向的、毋庸置疑的满足。
Rust 是唯一一个下面所有框框都打勾的语言:
- 内存安全
- 类型安全
- 消除数据竞争
- 使用前编译
- 建立(并且鼓励)在零抽象之上
- 最小的运行时(无停止世界的垃圾搜集器,无 JIT 编译器,无 VM)
- 低内存占用(程序可以运行在资源受限的环境,比如小的微控制器)
- 裸金属目标(比如,写一个 OS 内核或者设备驱动,把 Rust 当一个 ‘高层’汇编器使用)”
“Rust 有一个很香的地方:它像 C 和 C++ 那样底层,因此也具有底层的这些优势(比如,控制、大小、速度等)。同时呢,它又像 Haskell 那样高层,自带令人吃惊的大量功能传承。它还是命令式的,所以容易被大多数人上手。然后它又像 Python 一样灵活,比如,' 鸭子类型(duck-typing)' 的概念出现在编译时(比如,特征限定),然后它又没有陈旧的面向对象模型以及由这个模型导致的各种出名的问题。
最后但很重要的是,还有一连串的东西被包含进来:精简短小的语法,语言提供的数目不多的特性,标准库及其一致性,高质量的文档的集成,包括对初学者和高级用户都适用的学习材料,这些都是促成因素。”
安装及工具:https://www.rust-lang.org/zh-CN/learn/get-started
📕 入门秘笈 (PDF档下载)
Rust简介
Rust的特点
Rust开发环境安装
Rust第一个程式
Rust if语句
Rust if in a let语句
Rust loop回圈
Rust for回圈
Rust while回圈
Rust所有权
Rust参照和借用
Rust切片
Rust结构体
Rust结构体更新语法
Rust结构体方法语法
Rust列举
匹配运算子
Rust if let控制流程
Rust模组
Rust档案系统
Rust公开函式
Rust use关键字参照模组
Rust向量
Rust字串
Rust错误处理
Rust不可恢复的错误
Rust可恢复的错误
Rust泛型
Rust Trait
Rust生命周期
Rust智慧指标
Rust Box
Rust Deref trait
Rust Drop trait
华为 | 可信编程 -- 华为引领Rust语言开发的实践和愿景
华为 | 基于Rust的下一代虚拟化平台-StratoVirt
io_uring | 用 Rust 实现基于 io_uring 的异步随机读文件
蚂蚁集团 CeresDB 团队 | 关于 Rust 错误处理的思考
- alacritty — 跨平台、GPU 增强的终端模拟器
- AnderEnder/s3find-rs — 用于遍历 Amazon S3 层次结构的命令行实用程序,类似于 Amazon S3 的 find
- andschwa/rust-genetic-algorithm — 一种用于学术基准问题的遗传算法
- asm-cli-rust — 一个用 Rust 编写的交互式程序集外壳.
- ballista — 使用 Rust、Apache Arrow 和 Kubernetes 的分布式计算平台的 PoC!
- cloudflare/boringtun — 用户空间 WireGuard VPN 实现
- darrint/device-blocker — 通过阻止家庭 Wifi 路由器上的互联网访问来限制儿童各种移动设备的屏幕时间.
- denoland/deno — 使用 V8、Rust 和 Tokio 构建的安全 JavaScript/TypeScript 运行时
- dlecan/generic-dns-update — 使用您的 IP 地址更新 DNS 区域文件的工具
- Factotum — A system to programmatically run data pipelines
- fcsonline/drill — 受 Ansible 语法启发的 HTTP 负载测试应用程序
- Fractalide — 简单的 Rust 微服务
- habitat — 一个工具 Chef 构建、部署和管理应用程序.
- Herd — 一个实验性的 HTTP 负载测试应用程序
- intecture/api — API 驱动的服务器管理和配置工具
- ivanceras/diwata — postgresql 的数据库管理工具
- jedisct1/flowgger — 快速、简单和轻量级的数据收集器
- kbknapp/docli — 用于管理 DigitalOcean 基础设施的命令行实用程序
- kytan — 高性能点对点 VPN
- limonite — 静态博客 / 网站生成器
- linkerd/linkerd2-proxy — Kubernetes 的超轻服务网格.
- MaidSafe — 一个去中心化的平台.
- mdBook — 从 Markdown 文件创建书籍的命令行实用程序
- nicohman/eidolon — 适用于 linux 和 macosx 的无 Steam 和 drm 游戏注册表和启动器
- notty — 一种新型终端
- Pijul — 基于补丁的分布式版本控制系统
- rsign — 一个简单的命令行工具,用于生成 / 签署 / 验证旨在与 Minisign 兼容的数字签名
- Rudr — Kubernetes 实现 Open Application Model 规格
- rx — 受 Vi 启发的现代像素艺术编辑器
- Sandstorm Collections App
- Servo — 原型 Web 浏览器引擎
- tiny — 终端 IRC 客户端
- trust-dns — DNS 服务器
- updns — DNS 代理工具
- Weld — 全假 REST API 生成器
- wezterm — 一个gpu加速的跨平台终端模拟器和多路复用器
- enginesound — 用于按程序生成半逼真引擎声音的 GUI 和命令行应用程序. 具有深度配置、可变采样率和频率分析窗口.
- indiscipline/zrtstr — 用于检查立体声 wav 文件是否为仿立体声(即具有相同通道)并将此类文件转换为单声道的命令行实用程序.
- Lyriek — 一个多线程 GTK 3 应用程序,用于获取当前播放歌曲的歌词.
- Phate6660/musinfo — 从 mpd 查询音乐信息并将其显示在通知中的程序.
- Phate6660/rsmpc — mpc 的实现,但不是直接实现,因为会有一些差异.
- Phate6660/rsmpc — 用于 mpd 的 gtk 前端.
- Polaris — 音乐流媒体应用程序.
- Spotify TUI — 一个用 Rust 编写的用于终端的 Spotify 客户端.
- Spotifyd — 作为 UNIX 守护程序运行的开源 Spotify 客户端.
- Bitcoin Satoshi's Vision — 用于处理比特币 SV 的 Rust 库.
- cardano-cli — 卡尔达诺命令行界面 (CLI)
- ChainX — Polkadot 上完全去中心化的链间加密资产管理.
- CITA — 面向企业用户的高性能区块链内核.
- coinbase-pro-rs — Rust 中的 Coinbase pro 客户端,支持同步 / 异步 / websocket
- ethaddrgen — 用 Rust 制作的自定义以太坊虚地址生成器
- Grin — MimbleWimble 协议的演变
- hdwallet — BIP-32 HD 钱包相关的密钥推导实用程序.
- Holochain — 区块链的可扩展 P2P 替代方案,适用于您一直想要构建的所有分布式应用程序. 旧仓库的链接是 this 不再维护.ibc-rs - Rust 的实现 Interblockchain Communication 协议
- infincia/bip39-rs — BIP39 的 Rust 实现.
- Joystream — 一个用户管理的视频平台
- Diem — Diem 的使命是建立一个简单的全球货币和金融基础设施,为数十亿人赋能.
- Lighthouse — Rust Ethereum 2.0 客户端
- near/nearcore — 用于低端移动设备的去中心化智能合约平台.
- Nervos CKB — Nervos CKB 是一个公共的免许可区块链,是 Nervos 网络的公共知识层.
- Nimiq — Nimiq 节点的 Rust 实现
- Parity-Bitcoin — Parity 比特币客户端
- Parity-Bridge — 任何两个基于以太坊的网络之间的桥梁
- Parity-Ethereum — 快速、轻便、强大的以太坊客户端
- Parity-Zcash — Zcash 协议的 Rust 实现
- Phala-Network/phala-blockchain — 基于 Intel SGX 和 Substrate 的机密智能合约区块链
- Polkadot — 具有集中安全性的异构多链技术
- rbtc — 将 BTC 转换为任何货币,反之亦然.
- rust-cardano — Cardano 原语、助手和相关应用程序的 Rust 实现
- Substrate — 用 Rust 编写的通用模块化区块链模板
- tendermint-rs - Tendermint 区块链数据结构和客户端的 Rust 实现
- wagyu [wagyu] — 用于生成加密货币钱包的 Rust 库
- zcash — Zcash 是 “Zerocash” 协议的实现.
- YeeCo yeeroot — YeeCo yeeroot 是一个无需许可、安全、高性能和可扩展的公共区块链平台,由基于 Rust 编写的 PoW 共识的全分片技术提供支持
- indradb — 基于 Rust 的图形数据库
- Materialize - 由 Timely Dataflow 提供支持的流式 SQL 数据库:heavy_dollar_sign
- noria — 用于 Web 应用程序后端的动态变化、部分状态的数据流
- Lucid — High performance and distributed KV store accessible through a HTTP API.
- ParityDB — 快速可靠的数据库,针对读操作进行了优化
- PumpkinDB — 事件溯源数据库引擎
- seppo0010/rsedis — Rust 中的 Redis 重新实现
- Skytable — 多模型 NoSQL 数据库
- tikv — Rust 中的分布式 KV 数据库
- sled —(测试版)现代嵌入式数据库
- TerminusDB - 开源图形数据库和文档存储
- kondrak/rust64
- Ruffle — Ruffle 是用 Rust 编程语言编写的 Adobe Flash Player 模拟器. Ruffle 使用 WebAssembly 面向桌面和 Web.
- Gekkio/mooneye-gb
- mvdnes/rboy
- NivenT/RGB
- mohanson/gameboy — 全功能跨平台 GameBoy 模拟器. 永远的男孩!
- michelhe/rustboyadvance-ng - RustboyAdvance-ng 是一款 Gameboy Advance 模拟器,具有桌面、安卓和 WebAssembly 支持.
- iamsix/oxidenes
- koute/pinky
- pcwalton/sprocketnes
- Amjad50/plastic — plastis 是一个用 Rust 构建的全功能 NES 模拟器.
- rustation-ng — 使用 Rust 的 Playstation 模拟器
- pacmancoder/rustzx
- rodrigorc/raze — 对于 WebAssembly, live version here * 虚拟男孩
- emu-rs/rustual-boy
- mohanson/i8080 — Rust 的 Intel 8080 cpu 模拟器
- lifthrasiir/angolmois-rust — 一款支持 BMS 格式的极简音乐视频游戏
- citybound - 你应得的城市模拟
- schulke-214/connect-four — 一个简单的连接四个实现.
- doukutsu-rs — 对 Cave Story 引擎的 Rust 重新实现,并进行了一些增强.
- rsaarelm/magog — Rust 中的 roguelike 游戏
- schulke-214/rsnake — 用 Rust 编写的 Snake.
- soydos — Pusoy Dos 的 wasm 实现
- cristicbz/rust-doom — Doom 的渲染器,可能会发展成为一款可玩的游戏
- Thinkofname/rust-quake — Rust 中的地震地图渲染器
- rhex — 六边形 ascii roguelike
- garkimasera/rusted-ruins - 具有像素艺术的可扩展开放世界流氓游戏
- Veloren — 一个开放世界、开源的多人体素 RPG 游戏,目前处于 alpha 开发阶段
- swatteau/sokoban-rs — 推箱子实现
- aleshaleksey/TGWM — 具有回合制机制的 RPG(正在进行中)
- ozkriff/zemeroth — 一款小型 2D 回合制六角策略游戏
- Zone of Control — 回合制六角策略游戏
- phantomion/snake_game - 用 Rust 编写的简单终端蛇游戏.
- Limeth/euclider — 实时 4D CPU 光线追踪器
- RazrFalcon/resvg — 一个 SVG 渲染库.
- ivanceras/svgbob — 将 ASCII 图转换为 SVG 图形
- RazrFalcon/svgcleaner — 整理 SVG 图形
- Twinklebear/tray_rust — 光线追踪器
- turnage/valora — 生成美术图书馆
- mikigraf/Image-Processing-CLI-in-Rust — 用于处理图像、生成直方图的 CLI.
- locka99/opcua — OPC UA 图书馆.
- slowtec/tokio-modbus - 一种 tokio-based modbus 图书馆.
- BiancoRoyal/modbus-iiot-rust — 纯锈 modbus 没有或更少依赖的库.