# 通用编程概念 > [ch03-00-common-programming-concepts.md](https://github.com/rust-lang/book/blob/master/src/ch03-00-common-programming-concepts.md) >
> 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(); ``` 你无需经常用到原始标识符,但是当你 **真正** 需要它们时可以这么做。