go语言中for range怎么使用


这篇文章主要介绍“go语言中for range怎么使用”,在日常操作中,相信很多人在go语言中for range怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言中for range怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧! “for range”是Go语言特有的一种的迭代结构,可以用于遍历数组、免费云主机域名切片、字符串、map及通道。“for range”语法上类似于foreach结构,一般形式为“for key, val := range coll {…}”;参数val始终为集合中对应索引的值拷贝,因此它一般只具有只读性质,对它所做的任何修改都不会影响到集合中原有的值。for range 结构是Go语言特有的一种的迭代结构,在许多情况下都非常有用,for range 可以遍历数组、切片、字符串、map 及通道(channel),for range 语法上类似于其它语言中的 foreach 语句,一般形式为:

forkey,val:=rangecoll{
...
}

需要要注意的是,val 始终为集合中对应索引的值拷贝,因此它一般只具有只读性质,对它所做的任何修改都不会影响到集合中原有的值。一个字符串是 Unicode 编码的字符(或称之为 rune )集合,因此也可以用它来迭代字符串:

forpos,char:=rangestr{
...
}

每个 rune 字符和索引在 for range 循环中是一一对应的,它能够自动根据 UTF-8 规则识别 Unicode 编码的字符。通过 for range 遍历的返回值有一定的规律:数组、切片、字符串返回索引和值。map 返回键和值。通道(channel)只返回通道内的值。遍历数组、切片——获得索引和值在遍历代码中,key 和 value 分别代表切片的下标及下标对应的值,下面的代码展示如何遍历切片,数组也是类似的遍历方法:

forkey,value:=range[]int{1,2,3,4}{
fmt.Printf("key:%dvalue:%dn",key,value)
}

代码输出如下:遍历字符串——获得字符Go语言和其他语言类似,可以通过 for range 的组合,对字符串进行遍历,遍历时,key 和 value 分别代表字符串的索引和字符串中的每一个字符。下面这段代码展示了如何遍历字符串:

varstr="hello你好"
forkey,value:=rangestr{
fmt.Printf("key:%dvalue:0x%xn",key,value)
}

代码输出如下:代码中的变量 value,实际类型是 rune 类型,以十六进制打印出来就是字符的编码。遍历 map——获得 map 的键和值对于 map 类型来说,for range 遍历时,key 和 value 分别代表 map 的索引键 key 和索引对应的值,一般被称为 map 的键值对,因为它们是一对一对出现的,下面的代码演示了如何遍历 map。

m:=map[string]int{
"hello":100,
"world":200,
}
forkey,value:=rangem{
fmt.Println(key,value)
}

代码输出如下:注意:对 map 遍历时,遍历输出的键值是无序的,如果需要有序的键值对输出,需要对结果进行排序。到此,关于“go语言中for range怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: CSS伪类的概念是什么

本篇内容介绍了“CSS伪类的概念是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CSS伪类(Pseudoclasses)是选择符的螺栓,用来指定一个或者与其…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/07 18:42
下一篇 03/07 18:43

相关推荐