Golang动态创建Struct的成员
发布时间:2020-12-16 19:04:29 所属栏目:大数据 来源:网络整理
导读:我对Golang很新.我知道Golang中有Struct.但就我所知,你必须定义结构 type Circle struct{ x,y,r float64} 我想知道如何声明Struct中不存在的新变量 circle := new(Cirlce)circle.color = "black" Thx提前. 您需要使用map(类型为map [string] interface {})来
我对Golang很新.我知道Golang中有Struct.但就我所知,你必须定义结构
type Circle struct{ x,y,r float64 } 我想知道如何声明Struct中不存在的新变量 circle := new(Cirlce) circle.color = "black" Thx提前.
您需要使用map(类型为map [string] interface {})来处理动态JSON.以下是创建新地图的示例:
// Initial declaration m := map[string]interface{}{ "key": "value",} // Dynamically add a sub-map m["sub"] = map[string]interface{}{ "deepKey": "deepValue",} 将JSON解组到地图中如下所示: var f interface{} err := json.Unmarshal(b,&f) 上面的代码会在f中留下一个地图,其结构类似于: f = map[string]interface{}{ "Name": "Wednesday","Age": 6,"Parents": []interface{}{ "Gomez","Morticia",},} 您将需要使用类型断言来访问它,否则Go将不知道它是一张地图: m := f.(map[string]interface{}) 您还需要在从地图中拉出的每个项目上使用断言或类型开关.处理非结构化JSON是一件麻烦事. 更多信息: > https://blog.golang.org/json-and-go (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |