【新人系列】Golang 入门(三):条件循环

devtools/2025/3/11 0:54:48/

✍ 个人博客:https://blog.csdn.net/Newin2020?type=blog
📝 专栏地址:https://blog.csdn.net/newin2020/category_12898955.html
📣 专栏定位:为 0 基础刚入门 Golang 的小伙伴提供详细的讲解,也欢迎大佬们一起交流~
📚 专栏简介:在这个专栏,我将带着大家从 0 开始入门 Golang 的学习。在这个 Golang 的新人系列专栏下,将会总结 Golang 入门基础的一些知识点,并由浅入深的学习这些知识点,方便大家快速入门学习~
❤️ 如果有收获的话,欢迎点赞 👍 收藏 📁 关注,您的支持就是我创作的最大动力 💪

在这里插入图片描述

1. if else

go 语言中的 if else 写法和 C / C++ 的类似,其中不同的地方如下:

  1. if 后面没有括号,如果你写了括号,则在保存代码时编译器会自动帮你去掉。
  2. if 后面必须大括号,不能像 C / C++ 一样与 if 里面的语句在同一行。
go">package mainimport "fmt"func main() {if 7%2 == 0 {fmt.Println("7 is even")} else {fmt.Println("7 is odd")}if num := 9; num < 0 {fmt.Println(num , "is negative")} else if num < 10 {fmt.Println(num, "has 1 digit")} else {fmt.Println(num, "has multiple digits")}
}

运行结果:

7 is odd
9 has 1 digit

2. for 循环

go 语言中并没有什么 while、do while 循环,只有 for 循环。最简单的 for 循环就是在后面什么都不加,代表一个死循环。不过循环的过程中可以使用 break 退出,或者 continue 来跳过本次循环后续的代码。另外,for 中间的三段任何一段都可以省略。

go">package mainimport "fmt"func main() {fmt.Println("first part")for {fmt.Println("loop")break}fmt.Println("second part")for j := 7; j < 9; j++ {fmt.Println(j)}fmt.Println("thrid part")for n := 0; n < 5; n++ {if n % 2 == 0 {continue}fmt.Println(n)}fmt.Println("fourth part")i := 1for i <= 3 {fmt.Println(i)i++}
}

运行结果:

first part
loop
second part
7
8
thrid part
1
3
fourth part
1
2
3

3. range

go 语言中可以通过 range 来快速实现遍历操作,在其遍历时,会返回两个值,第一个是索引,第二个是对应位置的值。如果我们不需要索引的话,可以使用下划线来忽略。

go">package mainimport "fmt"func main() {nums := []int{2, 3, 4}sum := 0for i, num := range nums {sum += numif num == 2 {fmt.Println("index:", i, "num:", num) // index: 0 num: 2}}fmt.Println(sum) // 9m := map[string]string{"a": "A", "b": "B"}for k, v := range m {fmt.Println(k, v) // b 8; a A}for k := range m {fmt.Println("key", k) // key a; key b}
}

4. switch

go 语言中的 switch 也和 C++ / C 中的比较类似,不同的地方如下:

  1. go 语言 switch 后面直接跟的是变量名,而不是加括号。
  2. 在 C++ 中 switch case 如果不加 break 的话会继续往下跑完所有的 case,而在 go 中则不用加 break,就会自动跳出。
  3. go 语言 switch 可以使用任意的变量类型,甚至可以用来取代 if else 语句。可以在 switch 后面不加任何的变量,然后再 case 里面写条件分支,这样会比一连串的 if else 语句逻辑看起来更加清晰。
go">package mainimport ("fmt""time"
)func main() {a := 2switch a {case 1:fmt.Println("one")case 2:fmt.Println("two")case 3, 4:fmt.Println("three or four")default:fmt.Println("outer")}t := time.Now()switch {case t.Hour() < 12:fmt.Println("It's before noon")default:fmt.Println("It's after noon")}
}

运行结果:

two
It's before noon

http://www.ppmy.cn/devtools/166150.html

相关文章

【基础5】归并排序

核心思路 归并排序基本思想是将一个数组分成两个子数组&#xff0c;分别对这两个子数组进行排序&#xff0c;然后将排好序的子数组合并成一个最终的有序数组&#xff0c;即分治法&#xff1a; ​分​&#xff1a;将数组递归拆分成左右两半&#xff0c;直到每个子数组只剩1个元…

Python实例:PyMuPDF实现PDF翻译,英文翻译为中文,并按段落创建中文PDF

基于PyMuPDF与百度翻译的PDF翻译处理系统开发:中文乱码解决方案与自动化排版实践 一 、功能预览:将英文翻译为中文后创建的PDF 二、完整代码 from reportlab.lib.pagesizes import letter from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle

如何利用Python爬虫按图搜索1688商品(拍立淘):实战指南

在电商领域&#xff0c;按图搜索商品&#xff08;类似“拍立淘”功能&#xff09;是一种非常实用的功能&#xff0c;尤其适合用户通过图片快速查找相似商品。1688开放平台提供了按图搜索商品的API接口&#xff0c;允许开发者通过图片获取相关的商品信息。本文将详细介绍如何使用…

Qt调试功能使用方法

QT编程环境 QT在Windows操作系统下的三种编程环境搭建。 方案编程环境编译器调试器1Qt CreatorMinGW GCCGDB2Qt CreatorMicrosoft Visual C CompilerDebugging Tools for Widows3Microsoft Visual Studio VS自带VS自带 方案提及的QT安装程序及压缩包均能在官网Index of /off…

Web前端开发——HTML基础下

HTML语法 一表格1.基本格式2.美化表格合并居中属性 二表单1.input2.select3.textarea4.button5.date6.color7.checkbox8.radio9.range10.number 一表格 1.基本格式 HTML表格由<table>标签定义 其中行由<tr>标签定义&#xff0c;单元格由<td>定义。我们先来…

Android MXPlayer-v1.86.0-wushidi专业版[原团队最后一个版本]

MXPlayer 链接&#xff1a;https://pan.xunlei.com/s/VOKiDeDUxTDbJNN7yRAZjW8HA1?pwd4bzc# MX Video Player视频播放器是一款安卓最优秀的媒体播放器软件&#xff0c;它能够播放几乎每一个影片档案&#xff0c;并且具备多核心的译码能力来处理你的影片档案和字幕。多核译码…

基于Spring Boot的学院商铺管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

C# 基础知识总结(持续更新中...)

C#有哪些数据类型&#xff1f; 值类型 引用类型 整数类型 实数类型 布尔类型 字符类型 结构类型 枚举类型 类 数组 字符串 接口 委托 对象型 C#有哪几种访问修饰符&#xff0c;有何区别&#xff1f; public 公共成员 访问不受限制 private 私有成员 只限于当前类成员…