Go 的 结构体复合字面值使用

9 min read

Go 的结构体复合字面值是一种方便的方式,可以声明包含多个字段的结构体,并为每个字段赋值。

使用结构体复合字面值时,先声明一个结构体类型,然后在花括号中以字段名: 值 的形式为每个字段赋值。

例如:

type Person struct {
    Name string
    Age  int
}

p := Person{
    Name: "John",
    Age:  30,
}

在上面的示例中,我们声明了一个名为Person的结构体类型,它有两个字段Name和Age,然后使用结构体复合字面值为这个结构体创建了一个新的实例。

使用结构体复合字面值可以非常方便地为结构体创建零值或默认值。

例如:

user := User{}

在上面的示例中,我们使用结构体复合字面值创建了一个类型为User的结构体实例,该实例中的所有字段都被初始化为其对应类型的零值。

在Go语言中,结构体复合字面值还支持嵌套结构体以及匿名字段的赋值,具体使用方法可以参考官方文档。