标量类型
整数、浮点数、布尔值与字符
标量类型 是 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 反馈 — 无需本地设置。