一 定义
type struct_name struct {
字段 字段类型 标签( `json:"value1")
}
1 成员类型包含go支持的类型 包括引用类型和值类型
2 结构体名和成员名首字母都需要大写,如果需要跨包调用
3 标签方面涉及到反射-序列化是其中的一种形式
二 反射-JSON格式化
import ("encoding/json","fmt")
obj=struct_name{}->初始化
json_str, _ := json.Marshal(obj)->序列化
fmt.Printf("%#v", string(json_str02))
三 工厂模式
1 目的
能够设置结构体变量的初始值
能够跨包调用私有结构体(首字母小写)
2 具体调用方式
func func_name *struct_name { return &struct_name{初始化成员值}}
3 go本身没有构造函数,工厂模式是构造函数模拟实现的一种方式
四 结构体方法
结构体方法是通过对结构体数据类型进行绑定实现针对结构体成员进行操作改变
func (s *struct_name) func_name() (返回值返回值类型)
{s.变量成员}
struct_name结构体有方法func_name 绑定
方法会在实例化后 就可以被调用了,感觉像python类的函数
五 结构体定义内部常用类型
1 int 2 string 3 bool 4 []string 5 []int