嘿,小伙伴们!今天我们来聊聊Rust这门语言里的“类型系统”。这个系统就像是个大管家,它负责检查我们给程序的数据是否合法,确保代码按照预期运行。而且,类型系统还能帮我们自动生成文档,提示代码,让编程变得更有趣!
Rust是一门静态类型语言,这意味着每个值都有确定的数据类型。编译器能根据你给的值自动推断出变量的类型,超智能的,有没有!
声明变量,就这么简单
用let关键字就能声明一个变量。比如:
fn main() {
let company_string = "science_note"; // 字符串类型
let rating_float = 4.5; // 浮点类型
let is_growing_boolean = true; // 布尔类型
let icon_char = '♥'; // Unicode字符类型
println!("company name is:{}", company_string);
println!("company rating on 5 is:{}", rating_float);
println!("company is growing: {}", is_growing_boolean);
println!("company icon is: {}", icon_char);
}
看,变量的类型就是根据它们被赋予的值来推断的。company_string是字符串,rating_float是浮点数,就这么简单。
标量类型,单一值的代表
标量类型代表单个值,比如数字10、3.14、字符'c'。Rust有四种主要的标量类型:整数、浮点数、布尔值和字符。
整数,就是没有小数部分的数
整数可以分为有符号和无符号两种。有符号整数能存负数和正数,无符号的只能存正数。下面是整数类型的详细描述:
fn main() {
let result = 10; // 默认是i32类型
let age: u32 = 20; // 指定为u32类型
let sum: i32 = 5 - 15; // 这里的计算结果是-10
let mark: isize = 10; // isize类型
let count: usize = 30; // usize类型
println!("result value is {}", result);
println!("sum is {} and age is {}", sum, age);
println!("mark is {} and count is {}", mark, count);
}
浮点数,就是小数
浮点数类型在Rust里分为f32和f64。f32是单精度浮点数,f64是双精度。默认情况下是f64。看个例子:
fn main() {
let result = 10.00; // 默认是f64
let interest: f32 = 8.35; // f32类型
let cost: f64 = 15000.600; // 双精度
println!("result value is {}", result);
println!("interest is {}", interest);
println!("cost is {}", cost);
}
布尔值,真或假
布尔类型只有两个值:true和false。用bool关键字声明布尔变量。
fn main() {
let isfun: bool = true;
println!("Is Rust Programming Fun ? {}", isfun);
}
字符,就是单个的字母或符号
字符类型在Rust里支持数字、字母、Unicode和特殊字符。用char关键字声明字符类型的变量。
fn main() {
let special_character = '@'; // 默认
let alphabet: char = 'A';
let emoji: char = '😁';
println!("special character is {}", special_character);
println!("alphabet is {}", alphabet);
println!("emoji is {}", emoji);
}
好啦,今天关于Rust的数据类型就聊到这里。希望你们喜欢,下次再见!