news 2026/7/8 11:05:32

range迭代

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
range迭代

核心结论

使用for range遍历数组、切片、字符串、map时,默认会返回两个值:

  1. 第一个值:元素位置 / 索引 / 键
  2. 第二个值:元素本身

1. 遍历数组 / 切片

返回:索引下标对应元素

go

运行

package main import "fmt" func main() { arr := [3]int{11, 22, 33} slice := []string{"a", "b", "c"} // 接收两个返回值:下标i,元素v for i, v := range arr { fmt.Printf("位置:%d,元素:%d\n", i, v) } fmt.Println("--------") for i, v := range slice { fmt.Printf("位置:%d,元素:%s\n", i, v) } }

输出:

plaintext

位置:0,元素:11 位置:1,元素:22 位置:2,元素:33 -------- 位置:0,元素:a 位置:1,元素:b 位置:2,元素:c

不需要其中一个值时用空白标识符_丢弃

go

运行

// 只想要元素,丢弃下标 for _, v := range slice { fmt.Println(v) } // 只想要下标,丢弃元素 for i := range slice { fmt.Println(i) }

2. 遍历字符串

返回:字节起始索引(位置)Unicode字符(rune)

go

运行

s := "golang" for pos, char := range s { fmt.Printf("位置%d,字符%c\n", pos, char) }

3. 遍历 map

返回:键(key,等价元素位置标识)值(value,元素本身)

go

运行

m := map[string]int{ "张三": 18, "李四": 20, } for k, v := range m { fmt.Printf("键(标识):%s,值(元素):%d\n", k, v) }

补充特殊情况:通道 channel

遍历通道时只返回 1 个值(元素本身),没有位置 / 索引,不属于双返回值场景:

go

运行

ch := make(chan int, 2) ch <- 10 ch <- 20 close(ch) // 仅一个返回值,无位置 for v := range ch { fmt.Println(v) }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 11:04:30

IIM-20670运动传感器与PIC24EP512GU814微控制器集成指南

1. IIM-20670运动传感器深度解析 IIM-20670是TDK InvenSense推出的一款6轴智能工业级运动跟踪器件&#xff0c;它集成了3轴陀螺仪和3轴加速度计&#xff0c;采用MEMS技术制造。这款传感器在工业自动化、机器人导航、无人机控制等领域有着广泛应用。 1.1 核心参数与技术特点 I…

作者头像 李华
网站建设 2026/7/8 10:59:10

A3910与PIC18LF26K80电机控制方案详解

1. 认识A3910与PIC18LF26K80这对黄金搭档在嵌入式控制领域&#xff0c;电机驱动与微控制器的组合就像咖啡与咖啡伴侣的关系——单独使用也能工作&#xff0c;但完美搭配才能激发最大潜力。A3910作为Allegro MicroSystems推出的全桥电机驱动芯片&#xff0c;与Microchip的PIC18L…

作者头像 李华
网站建设 2026/7/8 10:57:39

番茄小说下载器:三步轻松获取离线电子书

番茄小说下载器&#xff1a;三步轻松获取离线电子书 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 番茄小说下载器是一款基于Rust开发的开源工具&#xff0c;专门用于高效下载…

作者头像 李华
网站建设 2026/7/8 10:54:36

高质量数据集与传统数据治理的关系

在高质量数据集建设逐渐成为人工智能领域重要议题之后&#xff0c;市场上出现了一个看似基础、实际上长期没有讲清楚的问题&#xff1a;企业已经拥有大量数据&#xff0c;也开展了多年数据治理&#xff0c;为什么还要专门建设高质量数据集&#xff1f;有人认为&#xff0c;高质…

作者头像 李华
网站建设 2026/7/8 10:53:45

通过vscode ssh 容器,连不上问题

远程连接不上 先找到目标机器的对应容器 sudo docker ps –a 启动容器 sudo docker start &#xff0a;&#xff0a; 进入容器 sudo docker exec –it &#xff0a;&#xff0a;&#xff0a; bash 执行 /etc/init.d/ssh restart

作者头像 李华