Go 语言大白话入门 6 - 判断与循环

发布时间:2026/9/13 22:47:46

Go 语言大白话入门 6 - 判断与循环 判断与循环本章目标这章把两件核心能力练起来判断和重复执行。 你学完要能自己写出if、for、switch并且看到报错能自己改。常见坑位先把最常见的坑看一眼后面不容易卡住。if条件外面加了圆括号写法不符合 Go 习惯。for三段式里把条件写反导致一次都不执行。break和continue混用结果和预期完全不一样。range返回的索引和值搞反。以为switch也要手动写break。正文步骤1.if让程序会做选择package main import fmt func main() { age : 20 // 年龄 if age 18 { fmt.Println(你已经成年) } else { fmt.Println(你还未成年) } }结论很简单条件成立走if不成立走else。再补一条常用写法if里可以先定义一个临时变量。package main import fmt func main() { if score : 75; score 60 { fmt.Println(及格) } else { fmt.Println(不及格) } }score只在这个if-else代码块内有效。2.for让程序按规则重复package main import fmt func main() { for i : 1; i 5; i { fmt.Println(第, i, 次输出) } }for i : 1; i 5; i可拆成三段i : 1初始化只执行一次。i 5循环条件每轮开始前检查。i步进每轮结束后执行。还有两种常见写法package main import fmt func main() { // 类似 while只有条件 count : 0 for count 3 { fmt.Println(count:, count) count } // 死循环通常配合 break for { fmt.Println(执行一次就退出) break } }Go 没有while一个for覆盖全部循环场景。3.for range遍历一组数据package main import fmt func main() { names : []string{小李, 小王, 小张} for index, name : range names { fmt.Println(index, name) } }range每轮给你两个值index索引从 0 开始name当前元素如果不要索引用_丢掉for _, name : range names { fmt.Println(name) }4.break和continue中途控制循环package main import fmt func main() { // break满足条件后直接退出整个循环 users : []string{小王, 小李, 小张, 小赵} for _, user : range users { if user 小张 { fmt.Println(找到了:, user) break } } // continue跳过本轮继续下一轮 numbers : []int{1, 2, 3, 4, 5, 6} for _, number : range numbers { if number%2 0 { continue // 偶数跳过 } fmt.Println(奇数:, number) } }一句话记忆break是“整轮结束”。continue是“本轮跳过”。5.switch分支多时更清楚package main import fmt func main() { score : 85 switch { case score 90: fmt.Println(优秀) case score 60: fmt.Println(及格) default: fmt.Println(不及格) } }按具体值匹配也很常见package main import fmt func main() { day : 2 switch day { case 1: fmt.Println(周一) case 2: fmt.Println(周二) default: fmt.Println(未知) } }注意Go 的switch默认每个case自动结束不需要手动写break。6. 两个补充取余和多重赋值先看取余%判断奇偶时非常高频。package main import fmt func main() { fmt.Println(10 % 3) // 1 fmt.Println(4 % 2) // 0 }再看多重赋值一行交换两个变量。package main import fmt func main() { left, right : 1, 2 left, right right, left fmt.Println(left, right) // 2 1 }示例代码最小可运行整合版下面这段把本章核心点串在一起复制可直接运行。package main import fmt func main() { score : 78 // 1) 判断 if score 60 { fmt.Println(成绩及格) } else { fmt.Println(成绩不及格) } // 2) 三段式循环 for i : 1; i 3; i { fmt.Println(第, i, 轮) } // 3) range continue numbers : []int{1, 2, 3, 4, 5, 6} oddCount : 0 for _, number : range numbers { if number%2 0 { continue } oddCount fmt.Println(奇数:, number) } // 4) switch switch { case oddCount 4: fmt.Println(奇数很多) case oddCount 2: fmt.Println(奇数适中) default: fmt.Println(奇数较少) } }过关标准自检清单对照下面 6 条能独立完成就算过关。能写出if / else并通过改条件验证输出变化。能解释for三段式的初始化、条件、步进。能用for range遍历切片并区分索引和值。能正确使用break和continue。能用switch写多分支并理解default。
延伸阅读

更多相关文章

2026/9/13 0:42:08

全志T113-i开发板视频处理与优化实战

1. 飞凌OK113i-C开发板硬件解析全志T113-i处理器作为这款开发板的核心,采用了双核Cortex-A7架构,主频可达1.2GHz,搭配128KB L2缓存。实测在视频处理场景下,双核协同工作能稳定维持1.0GHz以上的持续运算能力。特别值得注意的是其内…

2026/9/10 8:09:40

Petalinux应用自启动与双介质启动配置实战指南

这次我们来深入探讨一个嵌入式Linux开发中的实用技术方案——Petalinux应用自启动与双介质启动配置。对于使用Xilinx Zynq/Zynq MPSoC平台的开发者来说,如何高效管理启动流程和应用程序生命周期是项目成功的关键因素。这个方案的核心价值在于:它解决了嵌…

2026/9/10 20:51:45

具身智能中的轻量级仿真测试节点实践

我无法根据当前输入内容生成符合要求的博文。原因如下:项目标题“具身 头部公司在集体‘练小号’......”语义模糊、缺乏明确技术指向或行业定义,“具身”与“练小号”在常规语境中属于跨域混用词:前者多见于人工智能/机器人领域(…

2026/9/13 22:43:19

Appium+Python自动化测试实战源代码资料

自动化测试源码在 IT 行业内, 自动化测试属于提升软件开发效率与质量的要紧办法, 对移动应用开发范畴而言更是如此, 而这里提及的是“自动化测试源码”。自动化测试关于自动化测试的详细解析, 在正式运用结合并开展自动化测试之前, 首先得完成一系列基础环境的搭建, 这是第一步…

2026/9/13 22:43:19

ansible 实例 -- 用于 Linux 文件系统的操作 -- 修改文件或目录权限

如何使用 Ansible 修改文件或目录权限? 我将向你展示如何更改 test.txt 文件的 chmod 和所属组。 如何自动化修改文件/目录权限。 今天我们来谈谈 Ansible 模块 file。 全名是 ansible.builtin.file,这意味着它是 Ansible 自带的 “builtin” 集合的一部分。 这是一个非…

2026/9/13 22:43:19

Firecrawl 实战:将网站转换为大模型可用数据

本文摘要:传统爬虫直接获取的 HTML 包含导航、脚本、广告等噪音,无法作为大语言模型(LLM)的优质上下文。Firecrawl 是一款开源的网页数据转换引擎,它提供了一条清晰的管线:输入 URL → 智能爬取/渲染 → 输…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码