【基础篇】Go 语言范围(Range)

Go 语言范围(Range)

Go 语言中 range 关键字用于for循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引值,在集合中返回 key-value 对的 key 值。

实例

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将传入index和值两个变量。上面那个例子我们不需要使用该元素的序号,所以我们使用空白符"_"省略了。有时侯我们确实需要知道它的索引。

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字符串。第一个参数是字符的索引,第二个是字符(Unicode的值)本身。

for i, c := range "go" {

fmt.Println(i, c)

}

}

以上实例运行输出结果为:

sum: 9

index: 1

a -> apple

b -> banana

0 103

1 111

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2017-06-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏问天丶天问

Linux 字符串截取

19950
来自专栏老马寒门IT

06-老马jQuery教程-jQuery高级

1.jQuery原型对象解密 jQuery里面的大部分API都是在jQuery的原型对象上定义的。jQuery源码中对原型对象做了简写的处理。也就是说:jQue...

22790
来自专栏乐百川的学习频道

Golang学习笔记 常用数据结构

数组 声明数组 数组同样使用倒置的方式来声明,并且声明数组的时候需要指定数组长度。所以声明数组需要使用[数组长度]类型的方式来声明,如果需要在声明的同时初始化,...

23550
来自专栏Pythonista

Golang之strings包

比较全的是golang中文网的:https://studygolang.com/articles/5769

20920
来自专栏Golang语言社区

Go语言中字符串的查找方法小结

1.func Contains(s, substr string) bool这个函数是查找某个字符是否在这个字符串中存在,存在返回true import ( ...

368100
来自专栏十月梦想

类的传参以及super属性和super对象

在上述例子我们也看到了指定的子类特有的方法直接指定,那么我们如何指定子类特有的属性呢?我们这里用到了super方法;

13620
来自专栏Petrichor的专栏

python: str.format (字符串 格式化)

15120
来自专栏浪淘沙

桶排序的算法

思路:设数组的长度为len,创建三个长度为len+1的(桶)数组。将数组的元素根据大小放在不同的桶中,其中,必定有差值大于一个桶的差存在,故同一个桶中不可能出现...

8620
来自专栏从流域到海域

《笨办法学Python》 第10课手记

《笨办法学Python》 第10课手记 本节课讲转义字符,并在代码中使用了\n(回车) 、\t (制表符,单个使用即输出八个空格)、\(打印一个\),也解释了前...

21080
来自专栏web

DOM 1

14330

扫码关注云+社区

领取腾讯云代金券