一般情况下rust会自动推导出数据类型, 但一个变量可能存在多种类型时就必须指定

  1. fn main() {
  2. let guess: u32 = "12".parse().expect("error");
  3. println!("{}",guess);
  4. }

标量数据类型

整数类型

整数类型 i 为有符号 u 为无符号

isize 和 usize 跟随系统, 64 位 就是 64 位, 32 就是 32
image.png

表示形式

  • 10 进制可以使用_增强可读性

image.png

浮点型

布尔

字符串

复合类型

Tupel (固定长度)

类似于Python列表, 里面的数据类型不比相同

  1. fn main() {
  2. let tup = (1,'我',1.1);
  3. println!("{},{},{}",tup.0,tup.1,tup.2);
  4. }

分解 tupel

可以在声明变量时, 按照 tupel 下标来分解出响应值的变量

  1. fn main() {
  2. let tup = (1, '我', 1.1);
  3. let (x, y, z) = tup;
  4. println!("{},{},{}", tup.0, tup.1, tup.2);
  5. println!("{},{},{}", x, y, z);
  6. }

数组 (长度固定)

类型必须一样

  1. fn main() {
  2. let arr: [i32; 7] = [
  3. 1, 2, 3, 4, 5, 6, 7
  4. ];
  5. println!("{},{}",arr[0],arr[1]);
  6. }