range 迭代各种各样的数据结构。让我们来看看如何在我们已经学过的数据结构上使用 rang 吧。

package main
import "fmt"
func main() {
这里我们使用 range 来统计一个 slice 的元素个数。数组也可以采用这种方法。 nums := []int{2, 3, 4}
sum := 0
for _, num := range nums {
sum += num
}
fmt.Println("sum:", sum)
range 在数组和 slice 中都同样提供每个项的索引和值。上面我们不需要索引,所以我们使用 空值定义符_ 来忽略它。有时候我们实际上是需要这个索引的。 for i, num := range nums {
if num == 3 {
fmt.Println("index:", i)
}
}
range 在 map 中迭代键值对。 kvs := map[string]string{"a": "apple", "b": "banana"}
for k, v := range kvs {
fmt.Printf("%s -> %s\n", k, v)
}
range 在字符串中迭代 unicode 编码。第一个返回值是rune 的起始字节位置,然后第二个是 rune 自己。 for i, c := range "go" {
fmt.Println(i, c)
}
}

Result:

$ go run range.go
sum: 9
index: 1
a -> apple
b -> banana
0 103
1 111

坐标: 上一个例子    下一个例子

最新文章

  1. 【JUC】JDK1.8源码分析之ThreadPoolExecutor(一)
  2. 软删除脏数据job笔记
  3. PROTEL DXP原理图编译 常见错误与处理方法
  4. Python自然语言工具包(NLTK)入门
  5. devi into python 笔记(三)callable getattr lambda表达式
  6. ORACLE调度之基于事件的调度(二)【weber出品】
  7. 部署Redis主-从
  8. ThoughtWorks开发持续集成及部署利器:Go
  9. python 中的%s是什么意思呢?
  10. windows 异常处理
  11. spring-boot mybatis配置
  12. rocketmq在linux搭建双master遇到的坑
  13. 如何使用HttpClient包实现JAVA发起HTTP请求?
  14. day05_python_1124
  15. FM/FFM原理
  16. js操作cookie(转载:经测试可用)
  17. 浅谈python中的“ ==” 与“ is”
  18. OSX下git diff/merge 可视化工具 P4Merge 环境配置步骤
  19. flume 配置说明
  20. 【hdoj_1250】Hat's Fibonacci(大数)

热门文章

  1. Sass--混合宏的不足
  2. Sass--传一个带值的参数
  3. html5 jquery音乐播放器,play()和pause()不起作用
  4. Vue:替换/合并现有的特性
  5. springboot中MongoDB的使用
  6. sqlserver 之 将查询结果变为json字符串
  7. [原创] Delphi Create(Application) 和 Create(nil) 的区别
  8. visual studio code的使用
  9. HDU 6034 Balala Power! —— Multi-University Training 1
  10. Apache搭建http网站服务器入门教程