迭代通过golang地图

前端之家收集整理的这篇文章主要介绍了迭代通过golang地图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个类型的地图:map [string] interface {}

最后,我得到创建的东西像(在反序列化后从yml文件使用goyaml)

  1. mymap = map[foo:map[first: 1] boo: map[second: 2]]

如何迭代这个地图?我试过以下:

  1. for k,v := range mymap{
  2. ...
  3. }

但我得到一个错误

  1. cannot range over mymap
  2. typechecking loop involving for loop

请帮忙。

例如,
  1. package main
  2.  
  3. import "fmt"
  4.  
  5. func main() {
  6. type Map1 map[string]interface{}
  7. type Map2 map[string]int
  8. m := Map1{"foo": Map2{"first": 1},"boo": Map2{"second": 2}}
  9. //m = map[foo:map[first: 1] boo: map[second: 2]]
  10. fmt.Println("m:",m)
  11. for k,v := range m {
  12. fmt.Println("k:",k,"v:",v)
  13. }
  14. }

输出

  1. m: map[boo:map[second:2] foo:map[first:1]]
  2. k: boo v: map[second:2]
  3. k: foo v: map[first:1]

猜你在找的Go相关文章