Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

元组类型

Syntax
TupleType
      ( )
    | ( ( Type , )+ Type? )

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

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

一元组需要在其元素类型后加逗号,以与括号类型消除歧义。

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

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

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

元组类型的一些示例:

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

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

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


  1. 如果内部类型等效,则结构类型始终等效。有关元组的具名版本,请参阅元组结构体