duanguilin2007 2017-05-08 08:43
浏览 39
已采纳

对于不同的数据结构类型(例如map),range子句返回哪些不同的变量?

When looping through an array, the first variable returned is the index, and the second variable returned is the value:

array := []int{2, 3, 4}
for index, value := range array {
    fmt.Printf("Index: %s, Value: %s
", index, value)
}

What is returned when looping through map with the range clause. It is not the same as for array. There cannot be an index of a map anyway. Can we get key names?

  • 写回答

1条回答 默认 最新

  • dpyln64620 2017-05-08 08:43
    关注

    As per the documentation of range clause, following are the returned values for different kinds of types that it is used with:

    • array or slice a [n]E, *[n]E, or []E:

      • 1st value: index i int
      • 2nd value (optional): a[i] E (element at index i)
    • string s string type

      • 1st value: index i int
      • 2nd value (optional): rune int (the unicode of the character. to get the actual character, simply cast like this: string(value))
    • map m map[K]V:

      • 1st value: key k K
      • 2nd value (optional): value m[k] V
    • channel c chan E:

      • 1st value: element e E

    Simplified read here

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line