我有一张类型的地图: map[string]interface{}) a! D X! ?- g# [1 Y0 x7 K: j
最后,我开始创造类似的东西(使用 goyaml 从 yml 文件反序列化后) . W4 T7 B5 {' t. O K6 v0 ?
mymap = map[foo:map[first: 1] boo: map[second: 2]] 6 w. z% W0 o6 z% h2 J" o( C
我怎样才能遍历这张地图?我尝试了以下方法: 9 P* i2 s! M$ e6 b' }. w a
for k,v := range mymap{...}& ?1 l9 }4 A8 S0 K! \$ f! z
但我收到了一个错误: + h0 c% P$ Z4 O: h6 G/ G
cannot range over mymaptypechecking loop involving for loop * k' x2 p# f9 e8 g9 y
请帮忙。4 ]) [# y$ S+ s
- z* n; r; B" y* y2 _8 D解决方案: $ S# c& m) ~; d* b! `+ q; Y6 d
例如,! S5 s+ \' S. C9 d0 c5 k$ Y. q
* f1 |. e. s: ?* C
package mainimport "fmt"func main() type Map1 map[string]interface{} type Map2 map[string]int m := Map1{"foo": Map2{"first": 1},"boo": Map2{"second": m = map[foo:map[first: 1] boo: map[second: 2] fmt.Println("m:",m) for k,v := range m fmt.Println("k:",k,"v:",v) code]输出:[code]m: map[boo:map[second:2] foo:map[first:1]]k: boo v: map[second:2]k: foo v: map[first:1] 6 M/ F% `7 J. K' W$ X& i0 D