从地图中获取数据
res = map[Event_dtmReleaseDate:2009-09-15 00:00:00 +0000 +00:00 Trans_strGuestList:<nil> strID:TSTB]
如何从上述结果中获得以下值
1.Event_dtmReleaseDate
2.strID
3.Trans_strGuestList
我试过的
错误:res.Map未定义(类型map [string] interface {}没有字段或方法Map)
错误:v.id未定义(类型map [string] interface {}没有字段或方法ID)
您的变量是a map[string]interface {},表示键是字符串,但值可以是任何值。通常,访问此方法的方式是:
map[string]interface {}
mvVar := myMap[key].(VariableType)
或在字符串值的情况下:
id := res["strID"].(string)
请注意,如果类型不正确或映射中不存在键,这将引起恐慌,但是我建议您阅读更多有关Go映射和类型断言的信息。
在此处阅读有关地图的信息:http : //golang.org/doc/effective_go.html#maps
有关类型声明和接口转换的信息,请参见:http : //golang.org/doc/effective_go.html#interface_conversions
避免出现恐慌的安全方法是这样的:
var id string var ok bool if x, found := res["strID"]; found { if id, ok = x.(string); !ok { //do whatever you want to handle errors - this means this wasn't a string } } else { //handle error - the map didn't contain this key }