rust 数据类型

8/20/2021 rust

# 标量类型(scalar)

  • 整数类型
长度 有符号[-2^(n-1) , 2^(n-1) - 1] 无符号 [0 , 2n - 1]
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
arch isize usize

isize, usize取决于程序运行的目标平台; 在64位架构上,它们就是64位的,而在32位架构上,它们就是32位的

  • 浮点数类型

    • f32 单精度浮点数, f64 双精度浮点数;
    fn main() {
      	let x = 2.0; // f64 默认
      	let y: f32 = 3.0; // f32
      }
    
    1
    2
    3
    4
  • 布尔类型

    • 占据单个字节的空间大小
    fn main() {
      	let t = true;
      	let f:bool = false;
      }
    
    1
    2
    3
    4
  • 字符类型

    • char 类型 占4字节,是一个Unicode标量值, 使用单引号指定
    fn main() {
      	let a = 'aaa';
      	let b = '';
      }
    
    1
    2
    3
    4

# 复合类型(compound)

  • 元组(tuple)

    • 固定长度,可以由不同类型的多个值组合
    fn main() {
      	let tup: (i32, f64, u8) = (-500, 50.2, 5);
      	// 解构元组
      	let (a, b, _c) = tup;
      	// 元组的索引使用.语法
      	println!("a: {}, b: {}, c: {}", a, b, tup.2);
      }
    
    1
    2
    3
    4
    5
    6
    7
  • 数组类型(array)

    • 固定长度,每个元素类型相同
    fn main() {
      	let arr = [1, 2, 3, 4];
      	println!("first: {}", arr[0]);
    
      	let same = [6; 3]; // 等同于 [6, 6, 6]
      }
    
    1
    2
    3
    4
    5
    6
Last Updated: 2/16/2023, 10:05:20 AM