Golang中的struct实现如下:
一、定义结构体
使用struct
关键字定义结构体:
type Person struct {
name string
age int
}
这里定义了一个Person
结构体,包含name
和age
两个字段。
二、初始化结构体
可以使用struct literal
来初始化结构体:
p := Person{
name: "John",
age: 30,
}
三、访问结构体成员
使用.
操作符访问结构体成员:
p.name
p.age
四、结构体指针
可以定义结构体指针:
var p *Person
p - &Person {
name: "John",
age: 30,
}
然后通过->
操作符访问成员:
p->name
五、方法与接收者
可以给结构体定义方法,通过接收者访问结构体成员:
func (p Person) talk() {
fmt.Println(p.name, "说话了!")
}
p.talk()
这里p
就是接收者。
六、匿名结构体
可以定义匿名结构体:
struct {
name string
age int
}
七、结构体标签
可以给结构体成员添加标签:tag
struct {
Name string `json:"name"`
}
总的来说,Golang 的struct实现包括:
- 通过 struct 关键字定义
- 通过 struct literal 初始化
- 使用 . 操作符访问成员
- 可以定义指针和方法
- 接收者访问结构体成员
- 匿名结构体
- 使用结构体标签
它提供了自定义类型的能力。