前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【基础篇】Go 语言范围(Range)

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

作者头像
李海彬
发布2018-03-27 11:26:03
6320
发布2018-03-27 11:26:03
举报
文章被收录于专栏:Golang语言社区
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档