如何在Golang中使用range遍历数组和切片

range是Go中用于遍历集合的for循环语法,可遍历数组、切片、字符串、map和channel;它返回索引和元素副本,支持只取其一或两者都取,常用于简洁高效地迭代数据结构。

如何在golang中使用range遍历数组和切片

在Golang中,rangefor 循环的一种特殊形式,用于遍历数组、切片、字符串、map 和 channel。使用 range 遍历数组和切片非常常见,语法简洁且高效。

基本语法

range 返回两个值:索引和对应元素的副本。

你可以选择接收其中一个或两个值:

i, v := range slice:i 是索引,v 是元素值 _ , v := range slice:忽略索引,只获取值 i := range slice:只获取索引

遍历切片示例

假设有一个字符串切片:

fruits := []string{"apple", "banana", "cherry"}for i, fruit := range fruits {    fmt.Printf("索引 %d: %sn", i, fruit)}

输出:

索引 0: apple
索引 1: banana
索引 2: cherry

如果只关心值:

for _, fruit := range fruits {    fmt.Println(fruit)}

如果只关心索引:

for i := range fruits {    fmt.Println("位置:", i)}

遍历数组示例

数组的遍历方式与切片完全相同:

numbers := [3]int{10, 20, 30}for i, num := range numbers {    fmt.Printf("第%d项是%dn", i, num)}

虽然 numbers 是数组,但 range 依然返回索引和值,用法一致。

注意事项

range 遍历时,第二个返回值是元素的副本,修改它不会影响原数据 若想修改原切片元素,必须通过索引赋值:slice[i] = newValue 使用 _ 忽略不需要的变量,避免编译错误 range 是值拷贝,遍历大结构体时可考虑使用指针切片提升性能基本上就这些。range 简化了集合遍历,是 Go 中最常用的迭代方式之一。

以上就是如何在Golang中使用range遍历数组和切片的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1416584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月16日 10:39:13
下一篇 2025年12月16日 10:39:25

相关推荐

发表回复

登录后才能评论
关注微信