结构体是自定义的数据类型,代表一类事物,
结构体变量(实例)是具体的,实际的,代表一个具体变量type Cat struct {
Name string
Age int
Color string
Hobby string
}
func main() {
var cat Cat
cat.Name = "小黑"
cat.Age = 34
cat.Color = "黑色"
cat.Hobby = "miao"
}
一、结构体变量内存布局
结构体是值类型
在创建一个结构体变量后,如果没有给字段赋值,都对应一个零值(默认值):
指针、slice和map的零值都是nil,即还没有分配空间
二、创建结构体实例的方式方式一var person Person
person.name = ""
person.age = 34方式二var person Person = {}
person.name = ""
person.age = 34方式三var person *Person = new(Person)
// p3是一个指针,也可person.name = "simon"
go设计者为了简化底层会加上取值符
(*person).name = "simon&#