Comprehensive Rust(简体中文) 202412
81 16.1 标准库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 16.2 文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 16.3 Option . 还附带一个内置的测试运行程序,用于执行单元 测试。 • rustup:Rust 工具链安装和更新工具。当 Rust 发布新版本时,此工具用于安装并更新 rustc 和 cargo。此外,rustup 还可以下载标准库的文档。可以同时安装多个版本的 Rust,rustup 会根 据需要让你在这些版本之间切换。 关键点: • Rust 有一个快速发布时间表,每六周就会发布一次新版本。新版本保持与旧版本的向后兼容性,并 Slide Duration 标准库 3 minutes 文档 5 minutes Option 10 minutes Result 10 minutes String 10 minutes Vec 10 minutes HashMap 10 minutes 练习:计数器 20 minutes 对于本部分的每张幻灯片,请花些时间仔细阅读文档页面,重点了解一些较为常用的方法。 16.1 标准库 Rust0 码力 | 359 页 | 1.33 MB | 10 月前3Rust 语言学习笔记
rust doc rust 提供了从注释到可浏览网页文档的生成方法,通过 cargo doc 的方式。 注释主要有三种:行注释,模块注释,文档注释。 Rust 也有特定的用于文档的注释类型,通常被称为 文档注释 (documentation comments),他们会生成 HTML 文档。这些 HTML 展示公有 API 文档注释的内容,他们意在让对库感兴趣的程序员理解如何 使用 这个 这个 crate,而不是它是如何被 实现 的。 文档注释使用三斜杠 /// 而不是两斜杆并支持 Markdown 注解来格式化文本。 文档注释就位于需要文档的项的之前。 模块注释使用 //! ,行注释使用 // 模块注释和文档注释用起来非常舒服的,远比/* */舒服,IDEA 对它支持很好, 提供自动换行。 2.2 条件表达式 在 rust 中的条件表达式没有 switch 语句。 #[cfg(and(unix, not(windows)))] 5.1.2 几种常见的属性 官方的 attribute 文档: https://doc.rust-lang.org/reference/attributes.html RustPrimer 文档: https://rustcc.gitbooks.io/rustprimer/content/attr-and-compiler-arg/attribute0 码力 | 117 页 | 2.24 MB | 1 年前3Rust 程序设计语言简体中文版
Rust)、宏(macro)和更多关于生命周期、Trait、 类型、函数和闭包的内容。 第 20 章我们将会完成一个项目,实现一个底层的、多线程的 Web 服务器! 最后的附录包含一些语言相关的实用信息,格式类似参考文档。 最后的附录包含了一些关于该语言的实用信息,其格式更像是参考资料。附录 A 涵盖了 Rust 的关键字,附录 B 涵盖了 Rust 的运算符和符号,附录 C 涵盖了标准库提供的可派生 Trait, 上,你可以通过运行以下命令获得 C 语言编译器: $ xcode-select --install 12/600 Rust 程序设计语言 简体中文版 Linux 用户通常需要根据发行版(distribution)文档安装 GCC 或 Clang。比如,如果你使用 Ubuntu,可以安装 build-essential 包。 在 Windows 上安装 rustup 在 Windows 上,前往 https://www ,请在命令行中运行如下卸载脚本: $ rustup self uninstall 本地文档 安装程序也自带一份文档的本地拷贝,可以离线阅读。运行 rustup doc 在浏览器中查看本地 文档。 任何时候,如果你拿不准标准库中的类型或函数的用途和用法,请查阅应用程序接口 (application programming interface,API)文档! 14/600 Rust 程序设计语言 简体中文版 10 码力 | 600 页 | 12.99 MB | 1 年前3Rust 程序设计语言 简体中文版 1.85.0
C 编译器。 在 macOS 上,你可以通过运行以下命令获得 C 语言编译器: $ xcode-select --install Linux 用户通常需要根据发行版(distribution)文档安装 GCC 或 Clang。比如,如果你使用 Ubuntu,可以安装 build-essential 包。 12/562Rust 程序设计语言 简体中文版 在 Windows 上安装 rustup 简体中文版 $ rustup self uninstall 本地文档 安装程序也自带一份文档的本地拷贝,可以离线阅读。运行 rustup doc 在浏览器中查看本地 文档。 任何时候,如果你拿不准标准库中的类型或函数的用途和用法,请查阅应用程序接口 (application programming interface,API)文档! 文本编辑器和集成开发环境(Integrated Development 对于你的编辑器、工具,以及代码位 于何处并没有特定的要求,如果你更倾向于使用集成开发环境(IDE),而不是命令 行,请尽管使用你喜欢的 IDE。目前很多 IDE 都在一定程度上支持 Rust;查看 IDE 文档以了解更多细节。Rust 团队一直致力于借助 rust-analyzer 提供强大的 IDE 支 持。详见附录 D。 创建项目目录 首先创建一个存放 Rust 代码的目录。Rust 并不关心代码的存放位置,不过对于本书的练习和0 码力 | 562 页 | 3.23 MB | 9 天前3Comprehensive Rust(繁体中文)
C++ 方法;手動繫結會需要手動編寫這類頂層的、可自由使用的函式 • 這項工具和程式庫可處理一組核心型別,例如: – &[T] 傳遞時可以跨越 FFI 邊界,但無法保證任何特定 ABI 或記憶體布局。使用手動繫結時, std::span/&[T] 必須從一個指標和長度去手動解構並重新建構。這麼做很容易出錯, 因為每種語言各以略微不同的方式表示空切片 – std::unique_ptr< allow_unsafe = true? 籠統的答案是根據一般 Rust 標準,任何 C/C++ 程式碼都不「安全」。從 Rust 來回呼叫 C/C++ 可能會對記 憶體執行任何作業,進而破壞 Rust 本身資料布局的安全性。在 C/C++ 互通性中如果出現「過多」unsafe 關鍵字,可能會傷害這類關鍵字的訊噪比,且具有爭議性,但嚴格來說,在 Rust 二進位檔中導入任何外來 程式碼,都可能對 Rust 造成非預期行為。 only used in tests. 舉例來說: [crate.my-new-crate] group = 'test' # only used in test code 視 Crate 原始碼布局而定,您可能也需要使用這個檔案指定其 ‘LICENSE 檔案的位置。 稍後我們會看到一些其他您需在這個檔案中設定的項目,才能解決問題。 46.3 下載 Crate gnrt 這項工具瞭解如何下載 0 码力 | 358 页 | 1.41 MB | 10 月前3Comprehensive Rust(繁体中文) 202406
C++ 方法;手動繫結會需要手動編寫這類頂層的、可自由使用的函式 • 這項工具和程式庫可處理一組核心型別,例如: – &[T] 傳遞時可以跨越 FFI 邊界,但無法保證任何特定 ABI 或記憶體布局。使用手動繫結時, std::span/&[T] 必須從一個指標和長度去手動解構並重新建構。這麼做很容易出錯, 因為每種語言各以略微不同的方式表示空切片 – std::unique_ptr< allow_unsafe = true? 籠統的答案是根據一般 Rust 標準,任何 C/C++ 程式碼都不「安全」。從 Rust 來回呼叫 C/C++ 可能會對記 憶體執行任何作業,進而破壞 Rust 本身資料布局的安全性。在 C/C++ 互通性中如果出現「過多」unsafe 關鍵字,可能會傷害這類關鍵字的訊噪比,且具有爭議性,但嚴格來說,在 Rust 二進位檔中導入任何外來 程式碼,都可能對 Rust 造成非預期行為。 only used in tests. 舉例來說: [crate.my-new-crate] group = 'test' # only used in test code 視 Crate 原始碼布局而定,您可能也需要使用這個檔案指定其 ‘LICENSE 檔案的位置。 稍後我們會看到一些其他您需在這個檔案中設定的項目,才能解決問題。 46.3 下載 Crate gnrt 這項工具瞭解如何下載 0 码力 | 356 页 | 1.41 MB | 1 年前3刘用涛 CnosDB时序数据库的Rust实践
Rust • 高性能:无 GC 实时控制 • 安全:内存安全 线程安全 • 表达能力强:支持范型,match 表达式 3. Rust 使用经验分享 3.1 内存布局 offset Integer Float Complex 0 Discriminator(0) Discriminator(1) Discriminator(2) 8 i64 f64 f640 码力 | 26 页 | 3.28 MB | 1 年前3王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI Desktop Server 的全平台实践经验
Controller 及资源操作 Operator (CRD Controller) Cluster CRD reconcile Reconcile Period (60s) Kubernetes 资源布局示意 kube-rs: Kubernetes 资源操作 使⽤⾃定义资源时,通过 kube-derive 的 proc_macros ⾃动⽣成代码。 得益于 Kubernetes 抽象的 CRUD0 码力 | 34 页 | 10.81 MB | 1 年前3Rust分布式账务系统 - 胡宇
:跨语言跨平台通讯 心路历程 真刀实枪 – 开发调试部署 IDE JetBrains + Rust 插件 Gitlab CI/CD 心路历程 真刀实枪 – 文档工具 文档生成 CI/CD git page 作为文档 心路历程 吐槽点 ● Nightly 版本编译器: tikv , raft-rs ● 无官方库,官方库支持不成熟 ○ Kafka (第三方: https://github0 码力 | 27 页 | 12.60 MB | 1 年前3在Solana合约链实现IBC协议跨链互操作 - 苏胤榕
解释为什么选择Rust作为实现IBC协议的语言 1. Rust语言的安全性和性能优势 2. Rust生态系统的丰富性 3.Solana平台的支持:Solana是一个基于Rust开发 的 高性能区块链平台,提供了完善的开发工具和文档,可 以帮助开发者更加便捷地进行Rust合约链开发。 4. Informal Systems提供的IBC协议Rust语言实现和 协议的形式化验证可以有效提高IBC协议的安全性和可 靠性,保障跨链交易的安全和正确性。 可以将任何链的共识看作 是ICS06类似的共识处理, 支持更多的Rust合约链集成IBC协议) 有关IBC协议的相关资料 相关资料 > 有关与IBC协议相关的资料 - IBC协议的Sepc文档 - IBC协议的Rust语言实现 - IBC协议的Go语言实现 - IBC协议使用Solana合约实现(working) - IBC协议的Substrate-ibc实现 - IBC协议的ICS060 码力 | 29 页 | 3.05 MB | 1 年前3
共 18 条
- 1
- 2