嘿,小伙伴们!今天我们来聊聊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;// 这里的计算结果是-10let 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;// 默认是f64let 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的数据类型就聊到这里。希望你们喜欢,下次再见!