常见的编程概念
本章涵盖了几乎所有编程语言中出现的概念以及它们在 Rust 中的工作原理。许多编程语言的核心都有很多共同点。本章中提出的概念都不是 Rust 所独有的,但我们将在 Rust 的背景下讨论它们,并解释使用这些概念的约定。
具体来说,您将了解变量、基本类型、函数、注释和控制流。这些基础知识将存在于每个 Rust 程序中,尽早学习它们将为您提供强大的核心。
关键词
Rust 语言有一组保留仅供该语言使用的关键字,就像其他语言一样。请记住,您不能使用这些单词作为变量或函数的名称。大多数关键字都有特殊含义,您将使用它们在 Rust 程序中执行各种任务;一些当前没有与之相关的功能,但已为将来可能添加到 Rust 的功能保留。您可以在附录 A中找到关键字列表。
数据类型
Rust 中的每个值都有特定的数据类型,它告诉 Rust 正在指定哪种数据,以便它知道如何处理该数据。我们将研究两种数据类型子集:标量和复合。
请记住,Rust 是一种静态类型语言,这意味着它必须在编译时知道所有变量的类型。编译器通常可以根据值以及我们如何使用它来推断我们想要使用什么类型。在可能有多种类型的情况下
标量类型 Scalar Types
整型 Integer Types
整数是没有小数部分的数字。这种类型声明表明它关联的值应该是一个无符号整数(有符号整数类型的首字母是i而不是u),它占用32位空间。表显示了 Rust 中的内置整数类型。我们可以使用这些变体中的任何一个来声明整数值的类型。
Length | 有符号 | 无符号 |
---|---|---|
8-bit | i8 | u8 |
16-bit | i16 | u16 |
32-bit | i32 | u32 |
64-bit | i64 | u64 |
128-bit | i128 | u128 |
arch | isize | usize |
每个有符号的变体可以存储从 \(-(2^(n-1)\) 到 \(2^n-1 - 1\)(包括)的数字,其中n是该变体使用的位数。因此,i8可以存储从-( 2^7 )到 2^7 -1的数字,即-128到127。无符号变体可以存储从0到2^n-1的数字,因此u8可以存储从0到 2^8 - 1的数字,即0到255。
isize
和usize
类型取决于程序运行所在计算机的体系结构,在表中表示为“arch”:如果您使用的是 64 位体系结构,则为 64 位;如果您使用的是 32 位体系结构,则为 32 位。