元组类型

语法
TupleType :
      ( )
   | ( ( 类型 , )+ 类型? )

元组类型 是一系列用于异构类型列表的结构类型1

元组类型的语法是用括号括起来的,逗号分隔的类型列表。

一元元组需要在其元素类型后加一个逗号,以区分 带括号的类型

元组类型的字段数等于类型列表的长度。字段数决定了元组的元数。具有n个字段的元组称为n元元组。例如,具有 2 个字段的元组是 2 元元组。

元组的字段使用与它们在类型列表中位置相匹配的递增数字名称来命名。第一个字段是0。第二个字段是1。依此类推。每个字段的类型与元组的类型列表中相同位置的类型一致。

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

元组类型的一些示例

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

这种类型的值是使用元组表达式构造的。此外,如果没有其他有意义的值可以计算,各种表达式将产生单元值。

元组字段可以通过元组索引表达式模式匹配来访问。

1

如果结构类型的内部类型等效,则它们始终等效。有关元组的名义版本,请参阅 元组结构