Rust 程序设计语言 简体中文版 1.85.0
我们会站在较高的层次介绍一些概念,而后续章节将提供更多细节。如果你希望立刻就动手实 践一下,第二章是开始的好地方。第三章介绍 Rust 中类似其他编程语言的特性,第四章会学 习 Rust 的所有权系统。如果你是一个特别细致的学习者,喜欢在进入下一环节之前学习每一 个细节,你可能会想要跳过第二章,直接阅读第三章,等到你想要通过项目应用所学到的细节 时再回到第二章。 第五章讨论结构体(struct)和方法,第六章介绍枚举(enum)、match 于多种类型的代码。第十一章全面讲述了测试,因为就算 Rust 有安全保证,也需要测试确保 程序逻辑正确。第十二章中将会构建我们自己的 grep 命令行工具的功能子集实现,用于在文 件中搜索文本。为此会用到之前章节讨论的很多概念。 第十三章探索闭包(closure)和迭代器(iterator),这两个 Rust 特性来自函数式编程语言。 第十四章会深入探讨 Cargo 并介绍分享代码库的最佳实践。第十五章讨论标准库提供的智能 指针以及相关的 使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜数 字游戏程序。如果你更愿意从学习 Rust 常用的编程概念开始,请阅读第三章,接着再回到第 二章。 21/562Rust 程序设计语言 简体中文版 编写一个猜数字游戏 让我们一起动手完成一个项目来快速上手 Rust!本章将介绍一些 Rust 中常见的概念,并通过 真实的程序来展示如何运用它们。你将会学到0 码力 | 562 页 | 3.23 MB | 9 天前3Rust 程序设计语言简体中文版
使用 Cargo 创建并运行新项目 是时候通过构建更实质性的程序来熟悉读写 Rust 代码了。所以在第二章我们会构建一个猜猜 看游戏程序。如果你更愿意从学习 Rust 常用的编程概念开始,请阅读第三章,接着再回到第 二章。 22/600 Rust 程序设计语言 简体中文版 2 . 写 个 猜 数 字 游 戏 写个猜数字游戏 ch02-00-guessing-game-tutorial 变的,这意味着一旦我们给变量赋值,这个值就不再可以修改了。我们将会在第三章的 “变量 与可变性” 部分详细讨论这个概念。下面的例子展示了如何在变量名前使用 mut 来使一个变量 可变: let apples = 5; // 不可变 let mut bananas = 5; // 可变 注意:// 语法开始一个注释,持续到行尾。Rust 忽略注释中的所有内容,第三章将 会详细介绍注释。 回到猜猜看程序中。现在我们知道了 (Shadowing) guess 之前的值。这个功能常 用在需要转换值类型之类的场景。它允许我们复用 guess 变量的名字,而不是被迫创建两个 不同变量,诸如 guess_str 和 guess 之类。第三章会介绍 shadowing 的更多细节,现在只 需知道这个功能经常用于将一个类型的值转换为另一个类型的值。 我们将这个新变量绑定到 guess.trim().parse() 表达式上。表达式中的0 码力 | 600 页 | 12.99 MB | 1 年前3Rust 语言学习笔记
21 2.4.2 原生类型............................................................................ 21 第三章 所有权 引用借用 生命周期 ............................................................... 31 3.1 所有权 ....... 类型底层实现是 vec,unicode 类型,并且拿着引用 可以改变 String 内容。有点类似中在 go 做一个特殊的 String 类型,并且内部包着一个 byte 数组。 第三章 所有权 引用借用 生命周期 一个 C 语言的例子: int* foo() { int a; // 变量 a 的作用域开始 a = 100; char 线程模型,如果你宁愿牺牲性能来换取例如更好的线程运行控制和 更低的上下文切换成本。 7.1.2 使用 spawn 创建新线程 为了创建一个新线程,需要调用 thread::spawn 函数并传递一个闭包(第十 三章学习了闭包),其包含希望在新线程运行的代码。 use std::thread; use std::time::Duration; fn main() { thread::spawn(|| 0 码力 | 117 页 | 2.24 MB | 1 年前3
共 3 条
- 1