06-结构体
结构体 — The Rust Reference
1分钟内可阅读完
译文 · 基于 The Rust Reference
原文链接: https://doc.rust-lang.org/reference/items/structs.html
r[items.struct]
结构体
r[items.struct.syntax]
Struct ->
StructStruct
| TupleStruct
StructStruct ->
`struct` IDENTIFIER GenericParams? WhereClause? ( `{` StructFields? `}` | `;` )
TupleStruct ->
`struct` IDENTIFIER GenericParams? `(` TupleFields? `)` WhereClause? `;`
StructFields -> StructField (`,` StructField)* `,`?
StructField -> OuterAttribute* Visibility? IDENTIFIER `:` Type
TupleFields -> TupleField (`,` TupleField)* `,`?
TupleField -> OuterAttribute* Visibility? Type
r[items.struct.intro]
结构体是用关键字 struct 定义的名义结构体类型。
r[items.struct.namespace] 结构体声明在其所在模块或块的类型命名空间中定义给定名称。
struct 项及其使用的一个例子:
| |
r[items.struct.tuple]
元组结构体是名义元组类型,同样用关键字 struct 定义。除定义类型外,它还在值命名空间中定义同名构造器。该构造器是一个函数,调用它可以创建该结构体的新实例。例如:
| |
r[items.struct.unit] 类单元结构体是没有任何字段的结构体,通过完全省略字段列表来定义。这样的结构体会隐式定义一个与其类型同名的常量。例如:
| |
等价于
| |
r[items.struct.layout]
结构体的精确内存布局未指定。可以使用 repr 属性指定特定布局。