元组类型
元组类型 是一组由其他异构类型组成的结构体类型 1 。
元组类型的语法是由逗号分隔的类型列表,括在圆括号之中。 一元元组需要在其元素类型后面加上逗号,以便与 括号类型 区分。
元组类型的字段数量等于类型列表的长度。字段数量决定了元组的 元数 。拥有 n
个字段的元组被称为 n 元元组。
例如,具有 2 个字段的元组是一个 2 元元组。元组的字段使用递增的数字名称进行命名,匹配它们在类型列表中的位置。
第一个字段是 0
,第二个字段是 1
,以此类推。每个字段的类型是元组列表中相同位置的类型。
出于方便和历史原因,没有字段的元组类型 ()
通常被称为 单元 或 单元类型 。它的一个值也称为 单元 或 单元值。
元组类型的一些例子:
()
(单元类型)(f64,f64)
(String,i32)
(i32,String)
(与前一个示例的类型不同)(i32,f64,Vec<String>,Option<bool>)
可以使用 元组表达式 构造此类型的值。 另外,在如果不能求解为其他有意义的值时,则各类表达式将产生单元值。 元组字段可以通过 元组索引表达式 或 模式匹配 来访问。
1
如果它们的内部类型等价,则构造类型始终是等价的。有关元组结构体的具名版本,请参见 元组结构体 。