本来这篇准备明天在写的,但正好今天的Release没出问题,就接着写吧
rust里的原生类型:
有符号整数:
i8
,i16
,i32
,i64
和isize
(指针大小)无符号整数:
u8
,u16
,u32
,u64
和usize
(指针大小)浮点数:
f32
,f64
char
Unicode标量值如'a'
,'α'
和'∞'
(4字节)bool
要么true
或false
和单元类型
()
,也是唯一的值()
数组
[1, 2, 3]
元组等
(1, true)
rust是有类型推导的,所以可以直接声明变量如:let a = 1数字默认 i32 小数默认f64
当然也可以指定类型
fn main() {
// 指定变量类型
let logical: bool = true; let a_float: f64 = 1.0; // 普通
let an_integer = 5i32; // 后缀 // 不指定就会是默认的
let default_float = 3.0; // `f64`
let default_integer = 7; // `i32` let mut mutable = 12; // 变量 `i32`. // rust并不是动态语言,这个是错误的
mutable = true;
}
倒数第二个的注释是“变量”,为什么呢,因为用let a = 1这种方式声明的是不可变的,类似c#里的常量。只有加上mut才是变量,
也就是说我们我们用最少的代码声明的是不可变,要声明变量得加代码,我当初就因为这个放弃rust。直到现在都不理解。