发布时间:2026/7/17 3:49: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/7/17 3:49:46

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

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

2026/7/17 3:49:46

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

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

2026/7/17 3:49:46

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

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

2026/7/17 4:49:52

Linux系统下Node.js v24.18.0 LTS安装与多版本管理完整指南

在Linux服务器上部署Node.js应用时,版本兼容性往往是开发者遇到的第一个拦路虎。特别是当团队协作或项目迁移时,不同Node.js版本导致的环境差异会让本应顺利的运行流程变得举步维艰。本文将以Node.js v24.18.0 LTS版本为例,完整演示在Linux系…

2026/7/17 4:49:52

Antigravity CLI:终端AI编程助手的安装配置与实战指南

在日常开发工作中,我们经常需要在终端和AI编程助手之间频繁切换——写代码时打开浏览器使用AI工具,调试时又回到终端查看日志。这种上下文切换不仅影响效率,还打断了编程的连贯性。Google最新推出的Antigravity CLI正是为了解决这一痛点&…

2026/7/17 4:49:52

鸿蒙阅读器终极指南:从零开始打造你的个性化数字图书馆

鸿蒙阅读器终极指南:从零开始打造你的个性化数字图书馆 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 你是否厌倦了传统阅读应用的种种限制?想拥有一个完全由你掌控的电子书阅…

2026/7/17 4:44:51

Windows系统幽灵光驱问题解析与解决方案

1. 问题现象解析最近有不少Windows用户反馈,在"此电脑"界面突然多出了一个DVD驱动器图标,但实际上电脑并没有安装物理光驱设备。这个"幽灵光驱"现象通常表现为:资源管理器中显示为"DVD驱动器"或"BD-ROM驱…

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/17 1:21:45

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/17 0:04:23

BiSheng JDK-build性能调优:构建速度提升30%的优化策略

BiSheng JDK-build性能调优:构建速度提升30%的优化策略 【免费下载链接】bishengjdk-build BiSheng JDK build and test scripts - common across all releases/versions 项目地址: https://gitcode.com/openeuler/bishengjdk-build 前往项目官网免费下载&am…

2026/7/16 13:58:36

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…