控制结构在编程中非常重要,它们允许程序根据条件做出决策或者重复执行某些操作。
Go 语言中,控制结构包括条件语句、循环和选择结构。🔄✨

条件语句

条件语句让程序能够选择不同的执行路径。最常见的是 if 语句:

if condition {
    // 条件为 true 时执行
} else {
    // 条件为 false 时执行
}

例如,我们来检查一个数是否为正数:

number := -1
if number > 0 {
    fmt.Println(number, "是正数。")
} else {
    fmt.Println(number, "不是正数。")
}

此外,还有 else if 用于更多的条件判断:

if number > 0 {
    fmt.Println(number, "是正数。")
} else if number < 0 {
    fmt.Println(number, "是负数。")
} else {
    fmt.Println(number, "是零。")
}

例子:

package main

import "fmt"

func main() {
    var magicNumber int = 7

    if magicNumber > 10 {
        fmt.Println("这个数字是大于10的魔法数字!")
    } else if magicNumber < 5 {
        fmt.Println("这个数字是小于5的魔法数字!")
    } else {
        fmt.Println("这个数字正好在魔法范围内!")
    }
}

输出:

image.png


循环

循环允许我们重复执行代码块。
Go 语言中的 for 循环非常强大:

for initializer; condition; post {
    // 循环体
}

例如,我们打印从 15 的数字:

for i := 1; i <= 5; i++ {
    fmt.Println(i)
}

Go 也支持 range 关键字,它可以用来遍历数组、切片、字符串或者映射:

for index, value := range array {
    // 使用 index 和 value
}

例子:

package main

import "fmt"

func main() {
    // 使用 range 方法遍历字符串,%T 打印数据类型,%v 打印值,%c 打印字符串,%d 打印十进制表示
	s := "Hello 张三"
	for _, val := range s {
		fmt.Printf("%T : %v : %c : %d \n", val, val, val, val)
	}
    
    for i := 0; i < 5; i++ {
        fmt.Println("这是魔法循环的第", i+1, "次执行。")
    }
    // 类似 while 的用法
	count := 1
	for count < 10 {
		fmt.Println(count)
		count++
	}
}

输出:

image.png


选择结构

选择结构,如 switch 语句,根据不同的情况执行不同的代码块:

switch variable {
case value1:
    // 当 variable 等于 value1 时执行
case value2:
    // 当 variable 等于 value2 时执行
default:
    // 没有匹配时执行
}

这里是一个使用 switch 的示例:

grade := "B"
switch grade {
case "A":
    fmt.Println("优秀")
case "B", "C":
    fmt.Println("良好")
case "D":
    fmt.Println("及格")
default:
    fmt.Println("不及格")
}

控制结构是编程的基础,允许你的程序动态响应不同的情况和数据。


文章作者: Runfa Li
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Linux 小白鼠
GO 入门 GO go
觉得文章不错,打赏一点吧,1分也是爱~
打赏
微信 微信
支付宝 支付宝