控制流 (if-else, switch, for)
在编程中,控制流是指程序执行的顺序。通过控制流,我们可以根据不同的条件执行不同的代码块,或者重复执行某段代码。Go 语言提供了三种主要的控制流结构:if-else、switch 和 for。
1. if-else 语句
if-else 语句用于根据条件执行不同的代码块。如果条件为真,则执行 if 块中的代码;否则,执行 else 块中的代码。
1.1 基本语法
if condition {
// 当 condition 为真时执行的代码
} else {
// 当 condition 为假时执行的代码
}
1.2 代码示例
package main
import "fmt"
func main() {
age := 18
if age >= 18 {
fmt.Println("你已经成年了!")
} else {
fmt.Println("你还未成年。")
}
}
1.3 实践练习
编写一个程序,根据用户输入的分数判断其成绩等级(优秀、良好、及格、不及格)。
2. switch 语句
switch 语句用于根据不同的条件执行不同的代码块。它比多个 if-else 语句更简洁。
2.1 基本语法
switch expression {
case value1:
// 当 expression 等于 value1 时执行的代码
case value2:
// 当 expression 等于 value2 时执行的代码
default:
// 当 expression 不等于任何 case 时执行的代码
}
2.2 代码示例
package main
import "fmt"
func main() {
day := "Monday"
switch day {
case "Monday":
fmt.Println("今天是星期一。")
case "Tuesday":
fmt.Println("今天是星期二。")
default:
fmt.Println("今天是其他日子。")
}
}
2.3 实践练习
编写一个程序,根据用户输入的月份判断季节(春、夏、秋、冬)。
3. for 循环
for 循环用于重复执行某段代码。Go 语言中没有 while 循环,所有的循环都通过 for 实现。
3.1 基本语法
for initialization; condition; post {
// 循环体
}
3.2 代码示例
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("当前值:", i)
}
}
3.3 实践练习
编写一个程序,计算并输出 1 到 100 之间所有偶数的和。
4. 嵌套控制流
你可以在 if-else、switch 和 for 中嵌套使用这些控制流结构,以实现更复杂的逻辑。
4.1 代码示例
package main
import "fmt"
func main() {
for i := 1; i <= 3; i++ {
fmt.Printf("外层循环: %d\n", i)
for j := 1; j <= 3; j++ {
fmt.Printf("内层循环: %d\n", j)
}
}
}
4.2 实践练习
编写一个程序,输出九九乘法表。
5. 总结
通过本教程,你已经学习了 Go 语言中的三种主要控制流结构:if-else、switch 和 for。这些结构是编写复杂程序的基础。通过实践练习,你可以更好地掌握这些概念。
6. 下一步
接下来,你将学习 Go 语言中的数组和切片,它们是处理数据集合的重要工具。继续前进,探索更多 Go 语言的强大功能吧!