在Go语言中,可以使用以下三种方式来初始化结构体:
1. 结构体字面量:我们可以使用结构体字面量的方式在代码中直接初始化一个结构体。这种方式需要写出结构体的字段名和对应的值,并使用花括号将它们包起来。
示例代码如下:
“`
type Person struct {
name string
age int
location string
}
func main() {
p := Person{name: "张三", age: 18, location: "北京"}
}
“`
2. new()函数:Go语言提供了内建函数`new()`,可以用来动态地分配一个新的结构体,并返回其地址。这种方式返回的是一个结构体指针,需要使用`*`操作符来访问结构体的字段。
示例代码如下:
“`
type Person struct {
name string
age int
location string
}
func main() {
p := new(Person)
p.name = "李四"
p.age = 20
p.location = "上海"
}
“`
3. &符号:结构体变量也可以使用`&`符号来进行初始化。这种方式和`new()`函数是等价的,都是返回结构体的指针。
示例代码如下:
“`
type Person struct {
name string
age int
location string
}
func main() {
p := &Person{name: "王五", age: 22, location: "广州"}
}
“`