在go语言中,遍历数据或切片时可以用range,

range会产生两个值,分别是数据的索引与值,

错误的写法:

package mainimport "fmt"func main() {x := []string{"a", "b", "c"}for v := range x {fmt.Println(v) //prints 0, 1, 2}
}

这种写法非常不好(虽然没有报错),因为for...range的过程中,产生了index(索引)与value两个值,但是在遍历的时候,却没有显示地声明有这index变量,虽然我们此时不用index,时刻养成良好的编码习惯。

正确的写法:

package mainimport "fmt"func main() {  x := []string{"a","b","c"}for _, v := range x {fmt.Println(v) //prints a, b, c}
}

索引不用就将其忽略

golang range 遍历 索引和值相关推荐

  1. golang range 遍历读写数据问题

    在Golang中使用 for range 语句进行迭代非常的便捷,但在涉及到指针时就得小心一点了. 下面的代码中定义了一个元素类型为 *int 的通道 ch : package mainimport ...

  2. Golang的for range遍历

    for range 可以遍历  切片.map等. for range 遍历时会首先计算切片的长度,然后创建每个元素的副本.而不是直接返回对该元素的引用,因此如果使用该值变量的地址作为指向每个元素的指针 ...

  3. python字典的遍历方式:向列表一样通过索引遍历字典的值

    python字典的遍历方式 一.常规遍历方式 (一)遍历字典的项 (二)遍历字典的键 (三)遍历字典的值 (四)遍历字典的键值对 二.向列表一样通过索引遍历字典的值 一.常规遍历方式 参见:<p ...

  4. python遍历数组的两种方法_python同时遍历数组的索引和值的实例

    你想在迭代一个序列的同时跟踪正在被处理的元素索引. 获取索引 内置的 enumerate() 函数可以很好的解决这个问题: >>> my_list = ['a', 'b', 'c'] ...

  5. Golang 数组的简单操作之合并数组与删除某个索引的值

    Golang 数组的简单操作之合并数组与删除某个索引的值 Golang轻松学习 文章目录 Golang 数组的简单操作之合并数组与删除某个索引的值 一.接口数组([]interface{})是什么? ...

  6. golang之range遍历

    文章目录 range遍历 遍历slice 遍历map 遍历channel range是go提供的一种迭代遍历手段. range遍历 range遍历可操作的类型有数组(包括字符串).切片.Map.cha ...

  7. Golang如何遍历切片slice

    前言 这两天用golang开发一个把企业微信的打卡记录同步到HR-OA系统的一个中间表的功能,同步时把从企业微信接口里查询到的打卡记录放到一个对象的切片里,然后遍历切片把每条打卡记录写到中间表,这里涉 ...

  8. go语言初体验(流程控制、range遍历、函数、结构体、面向对象)

    一.流程控制 // main package mainimport ("fmt" )func main() {x := 2switch x {case 1:fmt.Print(&q ...

  9. python 根据索引取值_Python基础知识2

    运行Python程序的两种方式 运行Python程序的三步骤(与文本编辑器对比) IDE工具----pycharm 注释 变量 基本数据类型及其内置方法 垃圾回收(GC)机制 基本运算符 流程控制(i ...

最新文章

  1. 【图论专题】最小生成树的扩展应用
  2. 学python找工作好找吗-前辈经历告诉你Python新手好找工作吗?初级岗位多不多
  3. 实现权限控制_Spring自定义注解+AOP实现权限控制
  4. android壁纸选择器,Android 图片选择器
  5. linux 磁盘查看方式
  6. 为什么说优秀架构师往往是一个悲观主义者?
  7. 数据集:不同地区居民消费数据
  8. java如何动态添加数组数据_Java动态数组添加数据的方法与应用示例
  9. 支持的SUPL服务器,AGPS SUPL服务器客制化
  10. 小马哥------山寨苹果6s(A9900-912G61-B 尾插盖板A953标示刷机拆机准图与开机识别图 低配机
  11. MySQL报错java.sql.SQLException: The server time zone value ‘乱码‘ is unrecognized or represents more tha
  12. NL2SQL领域:RAT-SQL论文笔记
  13. 【详细服务器配julia】
  14. marshmallow库的简单学习
  15. jsp 自动倒数_JSP中的倒数计时器
  16. JMeter逻辑控制器 详解
  17. 完整回顾刘强东明尼苏达事件,他的这一夜让京东市值蒸发600亿
  18. fedora19下修复grub——生命不息,折腾不止
  19. 频次直方图、数据区间划分额分布密度——Note_6
  20. Life is hard!

热门文章

  1. 互联网协议 — IPSec 安全隧道协议 — NAT-T
  2. Kubenetes — YAML 基本语法
  3. CAS KVM 虚拟机的保护与恢复
  4. node.js之path模块的使用
  5. 利用virtualenv和pip构建虚环境并安装配置推送客户端
  6. 强大的表格控件handsometable,结合vue
  7. Django使用Social-Auth实现微信第三方网站扫码登录
  8. 第八章 用户方式中线程的同步(2)
  9. 软件测试2019:第四次作业
  10. agc018B Sports Festival