定义和访问golang中struct内部的映射字段?
假设我有一个名为Test的结构定义和访问golang中struct内部的映射字段?,go,struct,Go,Struct,假设我有一个名为Test的结构 type Test struct { Value1 int `json:"value1"` Value2 int `json:"Value2"` People map[string]string `json:"Value3"` Timeupdate string `json:"Timeupdate"` } people变量是键值对的集合。如何定义和访问结构中的人员 var object = Test{Value1: arg1, V
type Test struct {
Value1 int `json:"value1"`
Value2 int `json:"Value2"`
People map[string]string `json:"Value3"`
Timeupdate string `json:"Timeupdate"`
}
people变量是键值对的集合。如何定义和访问结构中的人员
var object = Test{Value1: arg1, Value2: arg2, People: args3, Timeupdate: time.Now().String()}
如何定义和访问此对象中的人员?您可以初始化空映射:
args3 := map[string]string{}
或具有值的映射:
args3 := map[string]string{"jane": "Jane"}
以后可以直接指定值:
args3["john"] = "john"
或在初始化对象之后:
var object = Test{Value1: arg1, Value2: arg2, People: args3, Timeupdate: time.Now().String()}
object.People["claire"] = "Claire"
小p(
people
而不是people
)是故意的吗?这使得该字段在定义了Test
的包之外不可访问,并且不会从json解析。我怀疑这是这个问题的根本原因,因为访问结构中的映射没有什么特别之处(object.people[“key”]
),这不是故意的(谢谢提醒)。在声明对象时,我需要澄清什么应该是args3(即如何定义对象中的人)@VincentvanderWeele@AshwinSekhariargs3
应为map[string]string
,与人员字段的类型相同。你的问题是如何初始化映射吗?@mkopriva是的,你能举例说明如何在对象内部初始化映射吗?@AshwinSekhari就像在对象外部初始化一样<代码>生成(映射[字符串]字符串)或映射[字符串]字符串{}
。