0Pricing
Learn Rust Coding · 课时

标量类型

整数、浮点数、布尔值与字符

标量类型 是 CoddyKit 上的免费 Learn Rust Coding 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn Rust Coding 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn Rust Coding 课程共包含 4 节课。

什么是标量类型?

标量类型表示单个值。Rust 有四种主要的标量类型:

  • 整数
  • 浮点数
  • 布尔值
  • 字符
fn main() {
    let i = 10;       // integer
    let f = 2.5;      // float
    let b = true;     // bool
    let c = 'R';      // char
    println!("{} {} {} {}", i, f, b, c);
}

整数类型

整数分为有符号(i)和无符号(u)两种变体,并具有固定大小:i8、i16、i32、i64、i128,以及对应的 u 类型。

默认的整数类型是 i32。

fn main() {
    let small: i8 = -120;
    let big: u64 = 18_000_000_000;
    println!("{} {}", small, big);
}

有符号与无符号

有符号整数可以为负数;无符号整数不能为负数。

  • i8 的取值范围是 -128 到 127。
  • u8 的取值范围是 0 到 255。

当某个值不可能为负数时(例如计数),请选择无符号类型。

fn main() {
    let temperature: i32 = -15;
    let people: u32 = 250;
    println!("temp {} people {}", temperature, people);
}

整数文字量

您可以使用不同的进制书写整数,也可以使用下划线提高可读性。

  • 十进制:1_000_000
  • 十六进制:0xff
  • 八进制:0o77
  • 二进制:0b1010
fn main() {
    let dec = 1_000;
    let hex = 0xff;
    let bin = 0b1010;
    println!("{} {} {}", dec, hex, bin);
}

浮点类型

Rust 有两种浮点类型:f32 和 f64。默认类型是 f64,因为它能提供更高的精度。

浮点数遵循 IEEE-754 标准。

fn main() {
    let pi: f64 = 3.141592;
    let e: f32 = 2.718;
    println!("pi {} e {}", pi, e);
}

数值运算

Rust 支持常见的数学运算符:+、-、*、/ 和 %(余数)。

整数除法会向零截断。

fn main() {
    let sum = 5 + 10;
    let quotient = 7 / 2;     // 3 (integer)
    let remainder = 7 % 2;    // 1
    let float_div = 7.0 / 2.0; // 3.5
    println!("{} {} {} {}", sum, quotient, remainder, float_div);
}

布尔类型

bool 类型恰好有两个值:true 和 false。

布尔值由比较运算产生,并用于 if 条件。

fn main() {
    let is_active = true;
    let is_bigger = 10 > 3;
    println!("{} {}", is_active, is_bigger);
}

字符类型

char 表示一个 Unicode 标量值,使用单引号书写。

Rust 中的 char 占 4 个字节,能够表示远超 ASCII 的字符,包括表情符号和带重音符号的字母。

fn main() {
    let letter = 'A';
    let symbol = '@';
    let heart = '\u{2764}';
    println!("{} {} {}", letter, symbol, heart);
}

char 与 String 的区别

单引号创建 char,双引号创建字符串切片(&str)。

  • 'a' 是一个字符。
  • "a" 是一个包含一个字符的字符串。
fn main() {
    let c = 'x';
    let s = "x";
    println!("char {} string {}", c, s);
}

使用 as 进行类型转换

Rust 不会自动转换数值类型。请使用 as 关键字进行显式转换。

请注意:转换为较小的类型可能会丢失数据。

fn main() {
    let x: i32 = 65;
    let y: f64 = x as f64;
    let c = x as u8 as char;
    println!("{} {} {}", x, y, c);
}

组合标量类型

程序经常组合使用标量类型。下面将整数、浮点数和布尔值结合起来做出判断。

fn main() {
    let price: f64 = 19.99;
    let quantity: u32 = 3;
    let total = price * quantity as f64;
    let is_expensive = total > 50.0;
    println!("total {} expensive {}", total, is_expensive);
}

快速检查

检验您对 Rust 标量字面量的掌握程度。

回顾

Rust 的四种标量类型:

  • 整数 — 有符号整数(i32)和无符号整数(u32),支持多种大小。
  • 浮点数 — f32 和 f64,默认类型为 f64。
  • bool — true 或 false。
  • char — 使用单引号表示的单个 Unicode 值。

请使用 as 进行显式数值转换。

fn main() {
    let count: u32 = 42;
    let ratio: f64 = count as f64 / 7.0;
    let ok: bool = ratio > 5.0;
    let grade: char = 'B';
    println!("{} {} {} {}", count, ratio, ok, grade);
}

常见问题解答

「标量类型」课时是免费的吗?

是的 — 「标量类型」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn Rust Coding 课程的其余内容,请升级到 CoddyKit PRO。 Learn Rust Coding 课程共包含 4 节课。

「标量类型」这节课中我会学到什么?

整数、浮点数、布尔值与字符 你通过在浏览器中直接运行的动手代码来练习 Learn Rust Coding,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Learn Rust Coding 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Learn Rust Coding 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「标量类型」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Learn Rust Coding 课中编写并运行代码吗?

能。每节 Learn Rust Coding 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. let 与可变性
  2. 标量类型
  3. 复合类型
  4. 遮蔽
← 返回 Learn Rust Coding