首页 > 后端开发 > Golang > 正文

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

P粉602998670
发布: 2025-10-24 09:53:01
原创
846人浏览过
range是Go中用于遍历集合的for循环语法,可遍历数组、切片、字符串、map和channel;它返回索引和元素副本,支持只取其一或两者都取,常用于简洁高效地迭代数据结构。

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

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

基本语法

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

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

UP简历
UP简历

基于AI技术的免费在线简历制作工具

UP简历 128
查看详情 UP简历
  • 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: %s\n", 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项是%d\n", i, num)
}
登录后复制

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

注意事项

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

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

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号