引言
围绕具体细节构建抽象是编程语言可以提供给开发人员的最好工具。结构体允许Go开发人员描述Go程序运行的世界。结构体允许我们讨论Address
,而不是描述Street
、 City
或PostalCode
的字符串。它们是我们努力告诉未来开发人员(包括我们自己)哪些数据对我们的Go程序是重要的,以及未来的代码应该如何适当地使用这些数据的自然纽带。结构体有几种不同的定义和使用方式。在本教程中,我们将了解这些技术中的每一种。
定义结构体
结构体的工作方式类似于你可能会使用的纸质表格,例如,用于报税。纸质表单可能有一些字段,用于存储像您的姓和名这样的文本信息。除了文本框之外,表单还可能有复选框来表示布尔值,如“已婚”或“单身”,或者日期框来表示出生日期。类似地,结构体将不同的数据片段收集在一起,并以不同的字段名组织它们。当你用一个新的结构体初始化一个变量时,就好像你复印了一个表单,让它随时可以填写一样。
要创建新的结构体,您必须首先向Go提供一个描述该结构体包含的字段的蓝图。这个结构体定义通常以关键字type
开始,后面跟着结构体的名称。在这之后,使用struct
关键字,后跟一对大括号{}
来声明结构体将包含的字段。一旦定义了这个结构体,就可以声明使用这个结构体定义的变量。下面的例子定义并使用了一个结构体:
package mainimport "fmt"type Creature struct {Name string
}func main() {c := Creature{Name: "Sammy the Shark",}fmt.Println(c.Name)