📚 Go语言流程控制 - 条件判断与循环 🔄
👋 在Go的旅途中,我们来到了关键的一站:流程控制。在这里,你将学会如何引导程序根据不同条件执行不同的逻辑分支,以及如何重复执行某段代码直至满足特定条件。条件判断与循环是编程中构建动态行为的核心工具,让我们一探究竟!🔍
一、条件判断 - if
语句 🤔
Go的if
语句简洁而灵活,不强制要求括号包围条件表达式,也不需要关键字来表示代码块结束。
age := 18
if age >= 18 {
fmt.Println("你已成年!")
} else {
fmt.Println("你还未成年。")
}
- 初始化语句:可以在条件判断前执行初始化操作。
- 简洁风格:对于单行语句,可以省略大括号。
if num := 42; num > 0 {
fmt.Println("正数")
} else if num < 0 {
fmt.Println("负数")
} else {
fmt.Println("零")
}
二、循环控制 - for
循环 🔁
Go中的for
循环非常灵活,可用于实现计数循环、条件循环乃至无限循环。
- 基本计数循环:
for i := 0; i < 5; i++ {
fmt.Println(i)
}
- 条件循环:
for num := 1; num <= 10; num++ {
if num%2 == 0 {
fmt.Println(num, "是偶数")
}
}
- 无限循环:
for {
// 某条件满足时需使用break退出
fmt.Println("这会一直打印...")
if someCondition() {
break
}
}
- range循环:遍历数组、切片、字符串、通道等。
arr := []int{1, 2, 3, 4}
for index, value := range arr {
fmt.Printf("索引:%d,值:%d\n", index, value)
}
三、标签与跳转 🔖
Go允许在循环前定义标签,并通过标签进行跳转,主要用于跳出多重循环。
OUTER:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i*j == 2 {
fmt.Println("(i, j) =", i, j)
break OUTER // 跳出外层循环
}
}
}
小结: 条件判断与循环是程序控制流程的重要手段,它们使程序能够适应不同的情况,执行复杂的逻辑。通过练习这些概念,你可以编写出更加智能、响应式的应用程序。继续前进,下一站我们将探索Go函数的奥秘!🚀