Rust入门06-数据类型:复合类型

数据类型-复合类型

  • 复合类型

    复合类型可以将多个值放入一个类型里

    Rust提供了两种基础的复合类型:

    1. Tuple(元组)

      可将多个类型的多个值放在同一个类型中,其长度是固定的,一旦声明就无法改变

      创建Tuple:

      在小括号中,将值用逗号分开,在Tuple中每个位置都对应一个类型,Tuple中各元素的类型不必相同

      let tup: (i32, f64, u8) = (500, 6.4, 1);
      

      获取Tuple的元素值:

      可以使用模式匹配来解构(destructure)一个Tuple来获取元素的值

      let (x, y, z) = tup;
      

      访问Tuple的元素值:

      在Tuple变量使用点标记法,后接元素的索引号

      println!("{}, {}, {}",tup.0, tup.1, tup.2);
      
    2. Array(数组)

      可将单个类型的多个值放在同一个类型中,其长度是固定的,一旦声明就无法改变

      声明数组:

      在中括号中,将值用逗号分开

      let a = [1, 2, 3, 4, 5];
      

      数组用处:

      将数据存放在 stack(栈) 上而不是 heap(堆) 上

      保证固定数量的元素

      但是数组没有Vector灵活,Vector与数组类型,其由标准库提供,Vector的长度可以改变,一般情况均使用Vector

      数组类型:

      数组类型以此类形式表示:[类型;长度]

      let a:[i32;5] = [1,2,3,4,5];
      

      其他声明数组方法:

      如果数组中每个元素值都相同,那么可以:

      1. 在中括号中指定初始值
      2. 然后写下 “ ; ”
      3. 最后是数组长度
      let a = [3;5];
      let a ] [3,3,3,3,3];
      

      访问数组元素:

      数组是在 stack 上分配的单个块的内存

      可以使用索引来访问数组的元素

      let first = months[0];
      let second = months[1];
      

      数组越界时:

      数组越界

posted on 2022-03-12 09:06  Baby091  阅读(65)  评论(0编辑  收藏  举报

导航