2

我正在使用 go 语言,我想用它的键和值在整个地图上迭代一个地图,同时,我还想计算地图中的项目数

我试过这个:

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

我只是想知道for ...范围语句是否可以使用i++通常是 for语句的一部分

4

2 回答 2

3

正如您在尝试时一定发现的那样,那是行不通的。你必须把它拼出来:

i := 0
for k, v := range someMap {
    //...
    i++
}
于 2013-07-10T09:09:00.640 回答
1

for 语句范围子句不允许这样做。你必须写,例如:

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

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

i == len(myMap)

之后是真的。

于 2013-07-10T09:08:53.050 回答