定义结构体
在 Golang 中最常用的方法是使用关键字 type 和 struct 来定义一个结构体,以关键字 type 开始,之后是新类型的名字,最后是关键字 struct:
// Person 为用户定义的一个类型type Person struct {Name stringAge intEmail string}
还有一些简单的写法,比如:
type T struct {a, b int}
也是合法的,它更适用于简单的结构体。
结构体里的字段都有名字,比如上面例子中的 Name、Age 和 Email 等等。如果一个字段在代码中从来不会被用到,那可以把它命名为 _,即空标识符。
结构体中的字段可以是任何类型,甚至是结构体本身,也可以是函数或者接口。可以声明结构体类型的一个变量,然后像下面这样给它的字段赋值:
var p Personp.Name = "nick"p.Age = 28
字段标记
在定义结构体时还可以为字段指定一个标记信息:
type Person struct {Name string `json:"name"`Age int `json:"age"`Email string `json:"email"`}
这些标记信息通过反射接口可见,并参与结构体的类型标识,但在其他情况下被忽略。
