Golang:Golang结构体声明与使用
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))
}