Learning Rust 项目:Rust 原始数据类型详解

Learning Rust 项目:Rust 原始数据类型详解

【免费下载链接】learning-rust.github.io Rust Programming Language Tutorials for Everyone! 【免费下载链接】learning-rust.github.io 项目地址: https://gitcode.com/gh_mirrors/le/learning-rust.github.io

作为一门系统编程语言,Rust 提供了丰富的基础数据类型,这些类型是构建复杂程序的基石。本文将全面介绍 Rust 中的原始数据类型,帮助初学者建立扎实的基础。

布尔类型 (bool)

布尔类型是编程语言中最基础的类型之一,Rust 中的 bool 类型只有两个可能的值:

let is_rust_fast = true;
let is_learning_easy: bool = false;

重要提示:

  • 只能使用 truefalse 作为值
  • 不能使用 TRUEFALSE10 来代替

字符类型 (char)

Rust 的字符类型代表一个 Unicode 标量值:

let ascii_char = 'A';
let emoji: char = '🚀';

关键特性:

  • 使用单引号表示字符
  • 双引号表示字符串,不能用于字符
  • 每个 char 占用 4 字节(32位),支持完整的 Unicode 字符集

整数类型

Rust 提供了多种整数类型,分为有符号和无符号两类。

有符号整数 (i8, i16, i32, i64, i128)

类型最小值最大值
i8-128127
i16-32,76832,767
i32-2,147,483,6482,147,483,647
i64-9,223,372,036,854,775,8089,223,372,036,854,775,807
i128-170,141,183,460,469,231,731,687,303,715,884,105,728170,141,183,460,469,231,731,687,303,715,884,105,727

无符号整数 (u8, u16, u32, u64, u128)

类型最小值最大值
u80255
u16065,535
u3204,294,967,295
u64018,446,744,073,709,551,615
u1280340,282,366,920,938,463,463,374,607,431,768,211,455

使用技巧:

  • 默认整数类型是 i32
  • 可以使用 min_value()max_value() 方法获取类型的取值范围
  • 对于数组索引,通常使用 usize 类型

浮点类型 (f32, f64)

Rust 提供两种浮点类型:

let pi_approx = 3.14; // 默认是 f64
let precise_pi: f64 = 3.14159265359;

重要说明:

  • f32 是单精度浮点(约6-7位有效数字)
  • f64 是双精度浮点(约15-16位有效数字),默认类型
  • 除非有特殊需求(如嵌入式系统内存限制),否则建议使用 f64

数组 (Array)

数组是固定大小的同类型元素集合:

let primes = [2, 3, 5, 7, 11];
let zeros = [0; 5]; // [0, 0, 0, 0, 0]

特点:

  • 大小在编译时确定,不可改变
  • 元素类型必须相同
  • 可以通过索引访问元素(如 primes[0]

元组 (Tuple)

元组是固定大小的有序集合,可以包含不同类型:

let person = ("Alice", 30, true); // (&str, i32, bool)

特性:

  • 使用圆括号表示
  • 可以通过模式匹配解构
  • 可以通过索引访问(如 person.0

切片 (Slice)

切片是对数组或其他序列的部分引用:

let arr = [1, 2, 3, 4, 5];
let slice = &arr[1..4]; // [2, 3, 4]

关键点:

  • 不拥有数据,只是引用
  • 语法为 &array[start..end](end 不包含在内)
  • 常用于函数参数,避免数据拷贝

字符串切片 (&str)

Rust 中的字符串切片:

let greeting = "Hello, Rust!";

特点:

  • 不可变的 UTF-8 编码文本
  • 通常以借用形式 (&str) 出现
  • String 类型不同,后者是可变的、堆分配的字符串

数值字面量表示技巧

Rust 提供了方便的数值表示方式:

let million = 1_000_000; // 使用下划线提高可读性
let byte: u8 = b'A';     // 字节字面量
let hex = 0xFFFF;        // 十六进制
let octal = 0o755;       // 八进制
let binary = 0b1100_1010;// 二进制

类型推断与注解

Rust 有强大的类型推断能力:

let x = 5;      // 推断为 i32
let y = 3.14;   // 推断为 f64

需要时也可以显式注解类型:

let z: i64 = 10;
let pi: f32 = 3.14;

总结

Rust 的原始数据类型设计兼顾了性能与安全性:

  1. 整数类型丰富,可根据需求选择合适的大小
  2. 默认浮点类型是 f64,提供更好的精度
  3. 数组和元组大小固定,保证内存安全
  4. 切片提供灵活的数据访问方式
  5. 字符类型全面支持 Unicode

理解这些基础类型是学习 Rust 的重要第一步,它们将作为构建更复杂数据结构的基石。在实际编程中,应根据具体场景选择合适的类型,平衡性能和内存使用。

【免费下载链接】learning-rust.github.io Rust Programming Language Tutorials for Everyone! 【免费下载链接】learning-rust.github.io 项目地址: https://gitcode.com/gh_mirrors/le/learning-rust.github.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值