You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# 通用编程概念
|
|
|
|
|
|
|
|
|
|
> [ch03-00-common-programming-concepts.md](https://github.com/rust-lang/book/blob/master/src/ch03-00-common-programming-concepts.md)
|
|
|
|
|
> <br>
|
|
|
|
|
> commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
|
|
|
|
|
|
|
|
|
|
本章介绍一些几乎所有编程语言都有的概念,以及它们在 Rust 中是如何工作的。很多编程语言的核心概念都是共通的,本章中展示的概念都不是 Rust 所特有的,不过我们会在 Rust 上下文中讨论它们,并解释使用这些概念的惯例。
|
|
|
|
|
|
|
|
|
|
具体来说,我们将会学习变量、基本类型、函数、注释和控制流。每一个 Rust 程序中都会用到这些基础知识,提早学习这些概念会让你在起步时就打下坚实的基础。
|
|
|
|
|
|
|
|
|
|
## 关键字
|
|
|
|
|
|
|
|
|
|
Rust 语言有一组保留的 **关键字**(*keywords*),就像大部分语言一样,它们只能由语言本身使用。记住,你不能使用这些关键字作为变量或函数的名称。大部分关键字有特殊的意义,你将在 Rust 程序中使用它们完成各种任务;一些关键字目前没有相应的功能,是为将来可能添加的功能保留的。可以在附录 A 中找到关键字的列表。
|
|
|
|
|
|
|
|
|
|
## 标识符
|
|
|
|
|
|
|
|
|
|
这里我们将对本书中的一些概念做一些解释:变量、函数、结构体等等。所有这些都需要名称。Rust 中的名称被称为 “标识符”(“identifier”),它们可以是任意非空的 ASCII 字符串,不过有如下限制:
|
|
|
|
|
|
|
|
|
|
要么是:
|
|
|
|
|
|
|
|
|
|
* 第一个字符是字母。
|
|
|
|
|
* 其它字符是字母数字或者 _。
|
|
|
|
|
|
|
|
|
|
或者是:
|
|
|
|
|
|
|
|
|
|
* 第一个字符是 _。
|
|
|
|
|
* 标识符需多于一个字符。单独的 _ 不是标识符。
|
|
|
|
|
* 其它字符是字母数字或者 _。
|
|
|
|
|
|
|
|
|
|
### 原始标识符
|
|
|
|
|
|
|
|
|
|
有时出于某种原因你可能需要将关键字作为名称。比如你需要调用 C 语言库中名为 *match* 的函数,在 C 语言中 *match* 不是关键字。为此你可以使用 “原始标识符”(“raw identifier”)。原始标识符以 `r#` 开头:
|
|
|
|
|
|
|
|
|
|
```rust,ignore
|
|
|
|
|
let r#fn = "this variable is named 'fn' even though that's a keyword";
|
|
|
|
|
|
|
|
|
|
// 调用名为 'match' 的函数
|
|
|
|
|
r#match();
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
你无需经常用到原始标识符,但是当你 **真正** 需要它们时可以这么做。
|