在Go语言中,有多种方法可以初始化结构体。以下是一些常见的初始化方式:
type Person struct {
Name string
Age int
}
func main() {
p := Person{Name: "Alice", Age: 30}
fmt.Println(p)
}
func main() {
p := Person{"Alice", 30}
fmt.Println(p)
}
func main() {
p := &Person{Name: "Alice", Age: 30}
fmt.Println(p)
}
func main() {
p := &Person{Name: "Alice", Age: 30}
fmt.Println(p)
}
make
函数初始化切片、映射和通道:func main() {
s := make([]int, 5) // 初始化长度为5的整数切片
m := make(map[string]int) // 初始化空的字符串到整数的映射
c := make(chan int, 5) // 初始化长度为5的整数通道
}
func main() {
p := Person{
Name: "Alice",
Age: 30,
Address: struct {
City string
State string
}{
City: "New York",
State: "NY",
},
}
fmt.Println(p)
}
这些方法可以根据实际需求进行组合使用,以满足不同的初始化场景。