元组类型

语法
元组类型 :
      ( )
   | ( ( 类型 , )+ 类型? )

元组类型 是一组由其他异构类型组成的结构体类型 1

元组类型的语法是由逗号分隔的类型列表,括在圆括号之中。 一元元组需要在其元素类型后面加上逗号,以便与 括号类型 区分。

元组类型的字段数量等于类型列表的长度。字段数量决定了元组的 元数 。拥有 n 个字段的元组被称为 n 元元组

例如,具有 2 个字段的元组是一个 2 元元组。元组的字段使用递增的数字名称进行命名,匹配它们在类型列表中的位置。 第一个字段是 0 ,第二个字段是 1 ,以此类推。每个字段的类型是元组列表中相同位置的类型。

出于方便和历史原因,没有字段的元组类型 () 通常被称为 单元单元类型 。它的一个值也称为 单元单元值

元组类型的一些例子:

  • () (单元类型)
  • (f64,f64)
  • (String,i32)
  • (i32,String) (与前一个示例的类型不同)
  • (i32,f64,Vec<String>,Option<bool>)

可以使用 元组表达式 构造此类型的值。 另外,在如果不能求解为其他有意义的值时,则各类表达式将产生单元值。 元组字段可以通过 元组索引表达式模式匹配 来访问。

1

如果它们的内部类型等价,则构造类型始终是等价的。有关元组结构体的具名版本,请参见 元组结构体