标量类型
有符号整数
有符号整数主要包括i8
、i16
、i32
、i64
、i128
和 isize(指针大小)
无符号整数
无符号整数主要包括u8
、u16
、u32
、u64
、u64
、u128
和usize(指针大小)
浮点型
浮点型数据主要包括f32
、f64
。
字符型
字符型数据char
,unicode标量值,比如'a'
,'b'
每一个字符4字节。
布尔型
布尔类型bool
,有两个值true
和false
。
单元类型
单元类型()
,这个类型的唯一值就是一个空的元组()
。
复合类型
数组
数组类型,例如[1, 2, 3]
元组
元组类型,例如(1, true)
rust中的类型注释
rust中的类型注释,其实是来自于函数式编程中的变量定义。主要的作用是为了指明变量的类型。
常规类型注释
主要是在变量名后面通过冒号指定变量的类型
let logical: bool = true;
let a_float: f64 = 1.0;
后缀式类型注释
通过在值的后面指明数据的类型.
let an_integer = 5i32;
默认数据类型
整数的默认类型是i32,浮点数的默认类型是f64。
let default_float = 3.0;
let default_integer = 7;
上下文推断数据类型
通过第二个赋值语句可以知道,inferred_type的类型是i64
.
使用mut关键字修饰变量,表明该变量的值是可以被修改的,虽然值可以被修改,但是变量的类型不能改变,所以第三个语句会引发编译器错误.
如果要改变变量的类型,可以使用let重新进行绑定,如第四个语句所示.
let mut inferred_type = 12;
inferred_type = 4294967296i64;
inferred_type = true;
let inferred_type = true;