HoRain云--Go语言循环语句全解析

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

Go 语言循环语句详解

1. 基本 for 循环

2. 类似 while 的循环

3. 无限循环

4. 使用 range 的循环

遍历切片

遍历映射

遍历通道

5. 循环控制语句

break 语句

continue 语句

带标签的 break 和 continue

6. 循环嵌套

7. 注意事项


Go 语言循环语句详解

Go 语言中,循环语句主要通过for关键字实现。与其他语言不同,Go 没有专门的whiledo-while语句,而是使用for的灵活语法来覆盖各种循环场景。

1. 基本 for 循环

语法:

for 初始化语句; 条件表达式; 后置语句 { // 循环体 }

示例:计算 1 到 10 的累加和

package main import "fmt" func main() { sum := 0 for i := 1; i <= 10; i++ { sum += i } fmt.Println("Sum:", sum) // 输出: Sum: 55 }

2. 类似 while 的循环

通过省略初始化和后置语句,for循环可以模拟while循环:

for 条件表达式 { // 循环体 }

示例:

package main import "fmt" func main() { count := 0 for count < 5 { fmt.Println("Count:", count) count++ } }

3. 无限循环

使用for不带任何条件创建无限循环:

for { // 循环体 }

示例:游戏主循环

package main import ( "fmt" "time" ) func main() { i := 0 for { fmt.Println("当前值:", i) i++ if i >= 3 { break // 当 i>=3 时退出 } time.Sleep(16 * time.Millisecond) // 模拟 60FPS } }

4. 使用 range 的循环

range关键字用于遍历数组、切片、映射或通道:

for index, value := range 集合 { // 循环体 }

遍历切片

package main import "fmt" func main() { nums := []int{1, 2, 3} sumOfSquares := 0 for _, num := range nums { // 忽略索引,只取值 square := num * num sumOfSquares += square } fmt.Println("平方和:", sumOfSquares) // 输出: 平方和: 14 }

遍历映射

package main import "fmt" func main() { scores := map[string]int{ "Alice": 90, "Bob": 85, "Charlie": 70, } for name, score := range scores { fmt.Printf("姓名:%s,分数:%d\n", name, score) } }

遍历通道

package main import "fmt" func main() { queue := make(chan string, 2) queue <- "one" queue <- "two" close(queue) for item := range queue { fmt.Println(item) } }

5. 循环控制语句

break 语句

break用于立即退出当前循环:

for i := 1; i <= 10; i++ { if i > 5 { break // 当 i > 5 时终止循环 } fmt.Printf("%d ", i) } // 输出: 1 2 3 4 5

continue 语句

continue用于跳过当前迭代,进入下一次:

for i := 1; i <= 10; i++ { if i%2 == 0 { continue // 跳过偶数 } fmt.Printf("%d ", i) } // 输出: 1 3 5 7 9

带标签的 break 和 continue

用于控制多层循环:

outer: for i := 0; i < 3; i++ { for j := 0; j < 4; j++ { if i == 1 && j == 2 { break outer // 直接退出整个双层循环 } fmt.Printf("i=%d, j=%d\n", i, j) } }

6. 循环嵌套

Go 语言通过嵌套for实现多层循环:

// 打印乘法表 for i := 1; i < 10; i++ { for j := 1; j <= i; j++ { fmt.Printf("%dx%d=%d ", j, i, i*j) } fmt.Println("") }

7. 注意事项

  1. for头部定义的变量仅在for语句范围内可见
  2. for语句头部的三个部分(初始化、条件、后置)都是可选的
  3. 使用下划线_可以忽略不需要的索引或值
  4. 避免在循环内重复分配内存,特别是在性能敏感场景
  5. 遍历二维切片时,修改元素需要通过索引方式:matrix[i][j] = newval

Go 语言的循环结构简洁而强大,掌握这些循环语句的用法,可以帮助你编写高效、易读的 Go 程序。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1223295.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HoRain云--Go语言函数详解:从入门到精通

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

HoRain云--Go语言变量作用域全解析

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

HoRain云--Go语言数组详解:从入门到精通

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

【E3S出版 | CNKI检索】第二届能源工程与污染治理国际学术会议(EEPC 2026)

第二届能源工程与污染治理国际学术会议(EEPC 2026)将于2026年3月13-15日在大连召开【汇集全球领域内的学者、研究人员、政策制定者以及业界领导者、学生优惠/团队投稿优惠、高录用、快见刊】 第二届能源工程与污染治…

2026年靠谱的安徽活动公司/安徽庆典活动公司年度推荐榜

行业背景与市场趋势近年来,随着安徽省经济的持续发展和企业品牌意识的不断提升,活动策划与庆典服务行业迎来了快速增长期。据安徽省商务厅数据显示,2025年全省活动策划市场规模已突破50亿元,年增长率保持在15%以上…

Kubernetes+Etcd----集群安装(etcd证书100年) - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

人生意义 = 当下体验?

将“人生意义”与“当下体验”用等号相连&#xff0c;既是古老的东方智慧&#xff0c;也是现代心理学和神经科学关注的核心。 “当下体验”是构成人生意义最核心、最不可替代的“材料”&#xff0c;但人生意义的完整构建&#xff0c;还需要一个能将当下体验进行“编织、解读与超…

2026年比较好的无锡H5响应式网站制作/无锡网站设计权威推荐榜

行业背景与市场趋势随着移动互联网的快速发展,H5响应式网站已成为企业数字化转型的标配。2026年,无锡作为长三角地区重要的经济中心,企业对高质量网站建设的需求持续增长。数据显示,无锡地区超过78%的企业已开始采…

剑指offer-68、调整数组顺序使奇数位于偶数前⾯(⼆)

题⽬描述 输⼊⼀个⻓度为 n 整数数组,数组⾥⾯可能含有相同的元素,实现⼀个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前⾯部分,所有的偶数位于数组的后⾯部分,对奇数和奇数,偶数和偶数之间的相对位…

2026 出国英语封闭雅思零基础培训班学校口碑榜单:深度测评高性价比提分机构推荐

在全球化浪潮的推动下,留学已成为许多学子的重要人生规划,而雅思考试作为出国英语能力认证的核心考核,正成为横亘在无数零基础考生面前的一座大山。不少考生在备考过程中深陷困境:机械背记的海量词汇,在实际考试场…

2026 出国雅思学习教育机构口碑推荐排行榜:权威雅思培训辅导机构 TOP 榜单

2026 年,随着全球教育资源竞争的加剧,雅思考试已成为无数留学追梦人、职场晋升者面前的关键门槛,竞争态势愈发白热化。在这场语言能力的角逐中,考生们在雅思培训选课的道路上举步维艰。基础薄弱的考生,面对市面上…

2026年行业内知名的企业独栋买卖推荐排行,园区/企业独栋/办公场地,企业独栋买卖推荐排行

随着城市经济快速发展,企业独栋作为兼具独立性与品牌展示功能的办公载体,正成为企业总部选址的热门选择。然而,市场上企业独栋项目质量参差不齐,从地理位置、配套设施到服务体系均存在显著差异。如何在众多选项中筛…

量化交易(二)系统环境的配置

computer science 之所以赚钱,是因为它成了“模型资本的放大器”

从品牌到价格:微波反应器全面选购攻略,供应商与生产商推荐

在化学合成、材料科学、生物医药等领域,微波反应器凭借其高效加热、精准控温、显著缩短反应时间等核心优势,正从实验室的"效率神器"跃升为产业化的关键装备。面对市场上从数万元到数百万元的设备矩阵,如何…

FHQ-Treap 树 ← 洛谷P3369、AcWing253

【题目来源】https://www.luogu.com.cn/problem/P3369https://www.acwing.com/problem/content/255/【题目描述】您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入数值 x。2. 删…

2026年知名的合肥考驾照理论培训/合肥考驾照培训综合口碑榜

行业背景与市场趋势随着合肥城市化进程加快和居民生活水平提升,机动车驾驶技能已成为现代生活的必备能力之一。2026年,合肥市驾培市场规模持续扩大,学员对驾校的选择更加注重教学质量、服务体验和口碑信誉。理论培训…

2026年比较好的合肥驾校场地/合肥驾校学车服务优选榜

行业背景与市场趋势随着合肥市机动车保有量持续增长和居民生活水平提高,学习驾驶技能已成为现代生活的必备需求。2025年数据显示,合肥市每年新增驾驶员约15万人,驾培市场规模突破10亿元。在此背景下,合肥驾校行业正…

自动化测试代码覆盖率提升实战指南

一、精准评估&#xff1a;覆盖率现状诊断&#xff08;基础奠基&#xff09; 覆盖率提升始于精准诊断。当覆盖率停滞在60%-70%区间时&#xff0c;需通过工具链锁定薄弱环节&#xff1a; 工具应用&#xff1a;集成JaCoCo、Coverage.py或SonarQube生成覆盖热力图&#xff0c;识别…

构建高效测试基石:模块化测试框架设计原则与实践探析

在快速迭代的软件开发周期中&#xff0c;自动化测试已成为保障软件质量的关键环节。一个设计精良的测试框架能显著提升测试效率、降低维护成本并增强测试的可靠性。模块化设计理念作为现代软件工程的基石&#xff0c;在测试框架构建中同样发挥着核心作用。本文将系统阐述模块化…

测试数据自动生成与注入技术:赋能软件测试的高效实践

测试数据自动生成与注入技术是现代软件测试的核心环节&#xff0c;旨在通过自动化手段创建多样化数据并动态注入测试用例&#xff0c;以提升测试覆盖率、效率和可靠性。对于测试从业者&#xff0c;掌握这些技术能显著减少人工维护成本&#xff0c;加速回归测试周期&#xff0c;…