如何使用其键/值迭代一个映射,就像“for”语句中的“i ++”一样

时间:2013-07-10 08:57:17

标签: go

我正在使用go语言,我希望在地图上遍历地图及其键和值, 同时,我还想计算地图中的项目数

我试过了:

  for i := 0; k,v := range map; i++ { }

我只是想知道for ...范围语句是否可以与i++一起使用,而for通常是其中的一部分 {{1}}声明

2 个答案:

答案 0 :(得分:2)

正如您在尝试时所发现的那样,这不起作用。你必须拼出来:

i := 0
for k, v := range someMap {
    //...
    i++
}

答案 1 :(得分:1)

range clausefor statement不允许这样做。你必须写,例如:

var i int
for k, v := range myMap {
        whatever()
        i++
}

请注意,如果您在迭代时不改变地图,那么

i == len(myMap)
之后

是真的。