阅读量:2
在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)
}
这些方法可以根据实际需求进行组合使用,以满足不同的初始化场景。
以上就是关于“Go语言结构体初始化有哪些方式”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm