Go语言自学系列 | golang结构体的初始化
Posted COCOgsta
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言自学系列 | golang结构体的初始化相关的知识,希望对你有一定的参考价值。
视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客
未初始化的结构体,成员都是零值 int 0 flow 0.0 bool false string nil nil
实例
package main
import "fmt"
func main()
type Person struct
id, age int
name, email string
var tom Person
fmt.Printf("tom: %v\\n", tom)
运行结果
[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
tom: 0 0
使用键值对对结构体进行初始化
实例
package main
import "fmt"
func main()
type Person struct
id, age int
name, email string
kite := Person
id: 1,
name: "kite",
age: 20,
email: "kite@gmail.com",
fmt.Printf("kite: %v\\n", kite)
运行结果
[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
kite: 1 20 kite kite@gmail.com
使用值的列表初始化
实例
package main
import "fmt"
func main()
type Person struct
id, age int
name, email string
kite := Person
1,
20,
"kite",
"kite@gmail.com",
fmt.Printf("kite: %v\\n", kite)
运行结果
[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
kite: 1 20 kite kite@gmail.com
注意:
- 必须初始化结构体的所有字段。
- 初始值的填充顺序必须与字段在结构体中的声明顺序一致。
- 该方式不能和键值初始化方式混用。
部分成员初始化
用不到的成员,可以不进行初始化
package main
import "fmt"
func main()
type Person struct
id, age int
name, email string
kite := Person
id: 1,
name: "kite",
fmt.Printf("kite: %v\\n", kite)
运行结果
[Running] go run "d:\\SynologyDrive\\软件开发\\go\\golang入门到项目实战\\goproject\\360duote.com\\pro01\\test.go"
kite: 1 0 kite
以上是关于Go语言自学系列 | golang结构体的初始化的主要内容,如果未能解决你的问题,请参考以下文章