Go struct
定义结构体类型
type XXX struct{ // 结构体字段 == 属性 == field }
申明定义结构体
指针式申明
var personP *Person = new(Person) var personP *Person = &Person{}
引用式申明(引用是一个变量的别称)
var s Person var s Person = Person()
访问结构体的值
//如果是指针的话需要使用(*XXX)括起来 //如本身就是一个结构本身的话直接通过 . 运算符就可以访问了 // . 运算符的优先级比 * 的高
序列化和反序列化
// 为了方便使用序列化和反序列化,我们在使用struct对的时候,可以在字段的旁边写上一个tag type Person struct { name string `json:"name"` age int8 `json:"age"` }
结构体定义方法
普通的定义在结构体里面
type Person struct { name string `json:"name"` age int8 `json:"age"` action func(){} }
定义在结构体外面
type Person struct { name string `json:"name"` age int8 `json:"age"` } func(p Person) showPerson(){ } // 注意这里的 p Person的位置,既不是返回值的位置,也不是参数的位置,他明确表明了 Person struct 和showPerson 的关系
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步