06-元组类型

元组类型 — The Rust Reference

译文 · 基于 The Rust Reference

原文链接: https://doc.rust-lang.org/reference/types/tuple.html

r[type.tuple]

元组类型

r[type.tuple.syntax]

TupleType ->
      `(` `)`
    | `(` ( Type `,` )+ Type? `)`

r[type.tuple.intro] 元组类型是一族结构类型1,用于表示其他类型的异构列表。

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

r[type.tuple.restriction] 一元元组必须在其元素类型后加逗号,以便与括号类型区分。

r[type.tuple.field-number] 元组类型的字段数等于类型列表的长度。该字段数决定了元组的元数。有 n 个字段的元组称为 n 元元组。例如,有 2 个字段的元组是二元元组。

r[type.tuple.field-name] 元组字段使用与其在类型列表中位置相匹配的递增数字名称。第一个字段是 0。第二个字段是 1。依此类推。每个字段的类型就是元组类型列表中相同位置的类型。

r[type.tuple.unit] 出于方便和历史原因,没有字段的元组类型(())常称为单元或单元类型。它唯一的值也称为单元或单元值。

一些元组类型的例子:

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

r[type.tuple.constructor] 该类型的值用元组表达式构造。此外,各种表达式在没有其他有意义的求值结果时会产生单元值。

r[type.tuple.access] 元组字段可以通过元组索引表达式或模式匹配访问。


  1. 若内部类型等价,则结构类型总是等价。元组的指名版本见元组结构体。 ↩︎

最后修改 August 21, 2026: 更新 (76fc81a2e)