package main import ( "encoding/json" "fmt" ) // 妖怪结构体 type Monster struct { Name string `json:"name"` Age int `json:"age"` Arms string `json:"arms"` } // 改变结构体函数 func changeStruct(s *Monster) { s.Name = "修改你的名称" } func main() { // 结构体声明1 monster := Monster{"孙悟空", 500, "金箍棒"} fmt.Println(monster) // 结构体声明2 var monster1 Monster monster1.Name = "猪八戒" monster1.Age = 500 monster1.Arms = "九齿钉耙" fmt.Println(monster1) // 结构体声明3 var monster2 Monster = Monster{} monster2.Name = "红孩儿" monster2.Age = 200 monster2.Arms = "火尖枪" fmt.Println(monster2) // 结构体声明4 var monster3 Monster = Monster{"铁扇公主", 400, "芭蕉扇"} fmt.Println(monster3) // 看看是否改变结构体的name changeStruct(&monster3) fmt.Println(monster3) // 结构体转json字符串 jsonStr, err := json.Marshal(monster2) if err != nil { panic("json转换失败") } fmt.Println(string(jsonStr)) }