一、定义结构体
go语言自定义数据类型使用 type ,定义结构体使用 type + stuct 关键字
package main import ( "fmt" ) type Cat struct { Name string Age int8 Color string } func main(){ var cat1 Cat cat1.Name = "花花" cat1.Age = 1 cat1.Color = "yellow" fmt.Println(cat1) }
执行结果:
二、结构体转json
使用 encoding/json 内置库
package main import ( "fmt" "encoding/json" ) type Cat struct { Name string Age int8 Color string } func main(){ var cat1 Cat cat1.Name = "花花" cat1.Age = 1 cat1.Color = "yellow" data, _ := json.Marshal(cat1) fmt.Println(string(data)) }
执行结果:
json字符串中的 key 首字母大写改为小写或其他带有下滑线的名字(给结构体的字段名,打标签)
package main import ( "fmt" "encoding/json" ) type Cat struct { Name string `json:"name"` Age int8 `json:"age"` Color string `json:"color"` } func main(){ var cat1 Cat cat1.Name = "花花" cat1.Age = 1 cat1.Color = "yellow" data, _ := json.Marshal(cat1) fmt.Println(string(data)) }
执行结果: