Rust 数据类型学习笔记

在 Rust 中,数据类型分为两大类:基本数据类型和复合数据类型。其中基本数据类型包括整型、浮点型、布尔型和字符型;复合数据类型包括元组、数组和结构体。下面我们逐一介绍这些数据类型。

整型

在 Rust 中,整数的大小可以通过 i 和 u 前缀指定。i 表示有符号整数,u 表示无符号整数。具体而言,i8 代表 8 位有符号整数,i16 代表 16 位有符号整数,以此类推。同理,u8 代表 8 位无符号整数,u16 代表 16 位无符号整数,以此类推。例如:

rustCopy Code
let x: i32 = 42; let y: u64 = 123456789;

浮点型

Rust 中的浮点型包括 f32 和 f64。f32 对应单精度浮点数,f64 对应双精度浮点数。例如:

rustCopy Code
let x: f32 = 3.14159; let y: f64 = 2.71828;

布尔型

Rust 中的布尔型有两个值:true 和 false。布尔型的字节大小为 1。例如:

rustCopy Code
let x: bool = true; let y: bool = false;

字符型

Rust 中的字符型表示单个 Unicode 字符。字符型使用单引号(')包围。例如:

rustCopy Code
let x: char = 'a'; let y: char = '😃';

元组

元组是将多个值组合在一起形成单个复合值的方式。每个元素的类型可以不同,通过使用逗号分隔值,并将所有值括在圆括号中来创建元组。例如:

rustCopy Code
let tup: (i32, f64, char) = (42, 3.14159, 'a');

可以通过解构将元组的各个元素赋值给不同的变量:

rustCopy Code
let (x, y, z) = tup;

也可以直接访问元组的某个元素:

rustCopy Code
let x = tup.0;

数组

数组是一个包含固定数量元素的序列。数组的大小用于类型检查,并且它们通常在堆栈上分配空间。要创建一个数组,需要指定元素类型和元素数量,并使用方括号([])将元素括起来。例如:

rustCopy Code
let arr: [i32; 3] = [1, 2, 3];

可以通过索引访问数组的元素:

rustCopy Code
let x = arr[0];

结构体

结构体是一个存储不同数据类型的相关值的自定义数据类型。结构体的定义使用关键字 struct。例如:

rustCopy Code
struct Person { name: String, age: u32, is_student: bool, }

可以通过实例化结构体来创建结构体的值:

rustCopy Code
let p = Person { name: String::from("Alice"), age: 20, is_student: true, };

可以使用点运算符访问结构体的字段:

rustCopy Code
let name = p.name;

以上就是 Rust 中的基本数据类型和复合数据类型。通过使用这些数据类型,我们可以轻松地定义变量、常量和自定义数据类型,并执行各种操作。