知识点:Rust 的基本类型
下面展示一些内联代码片。
// 整数类型leta:i32=42;// 有符号32位整数letb:u64=100;// 无符号64位整数// 浮点类型letprice:f64=9.9;// 64位浮点(默认)letrate:f32=0.85;// 32位浮点// 布尔类型letis_ok:bool=true;// 字符类型(注意是单引号)letletter:char='A';letchinese:char='中';// 字符串(注意区别)lets1:&str="hello";// 字符串切片,固定不变lets2:String=String::from("world");// String 类型,可以修改println!("a = {}, b = {}",a,b);println!("price = {}, rate = {}",price,rate);println!("is_ok = {}",is_ok);println!("letter = {}, chinese = {}",letter,chinese);println!("s1 = {}, s2 = {}",s1,s2);}核心规则
类型 说明 例子
i8/i16/i32/i64 有符号整数 let x: i32 = -10;
u8/u16/u32/u64 无符号整数 let x: u8 = 255;
f32/f64 浮点数 let x: f64 = 3.14;
bool 布尔值 let x: bool = true;
char 单个字符(单引号) let x: char = ‘A’;
&str 字符串切片 let x = “hello”;
String 可增长的字符串 let x = String::from(“hello”);
💡 大多数时候可以省略类型标注,编译器会自动推断。只有在编译器推不出来时才需要手写。
动手试试
补全下面的代码:
fnmain(){// 补全:声明一个整数变量 score,值为 95// 补全:声明一个浮点数变量 height,值为 175.5// 补全:声明一个布尔变量 is_pass,值为 true// 补全:声明一个字符变量 grade,值为 'A'// 补全:打印输出如下格式// 成绩: 95, 身高: 175.5, 及格: true, 等级: A}期望输出:
成绩: 95, 身高: 175.5, 及格: true, 等级: A
写好了贴过来,没问题就进入第3课:String 与 &str 的区别 👋
贴代码
fn main() { // 补全:声明一个整数变量 score,值为 95 let score = 95; // 补全:声明一个浮点数变量 height,值为 175.5 let height = 175.5; // 补全:声明一个布尔变量 is_pass,值为 true let is_pass = true; // 补全:声明一个字符变量 grade,值为 'A' let grade = 'A'; // 补全:打印输出如下格式 // 成绩: 95, 身高: 175.5, 及格: true, 等级: A println!("成绩: {}, 身高: {}, 及格: {}, 等级: {}", score, height, is_pass, grade); }评语
完全正确!👏
你掌握了:
- 整数、浮点数、布尔、字符的声明
- 编译器自动推断类型(不用写 : i32 这些)
- println! 多个占位符的用法