自定义类型和类型别名
type MyInt int // 自定义类型
type newInt = int // 类型别名
类型别名只在代码编写过程中有效,编译完成之后就不存在,内置的byte和rune都属于类型别名。
结构体
基本数据类型:
变成是代码解决现实生活中的问题:
var name = "CYW"
结构体是一种数据类型,可以保存多个维度数据的类型
type Addr struct {
city string
}
type person struct {
name string
age int
gender string
addr Addr
}
匿名结构体:
多用于临时场景
var a = struct{
x int
y int
}
结构体的初始化
方法和接收者
方法是有接收者的函数,接收者指的是哪个类型变量可以调用这个函数
func (p *person) dream(){
fmt.Println(p.name)
}
结构体是值类型
结构体的嵌套
结构体的匿名字段
JSON的序列号和反序列化
经常出现的问题:
1.结构体内部的字段首字母要大写,不大写别人是访问不到的
2.反序列化时要传递指针
json.Mash