Golang如何编写循环控制语句_Golang 循环语句使用示例

Go语言使用for关键字统一实现循环,基本语法为for初始化;条件;迭代{},如for i := 1; i

Go语言中的循环控制主要通过for关键字实现,它集成了其他语言中forwhile甚至do-while的功能。Golang不支持whiledo-while写法,所有循环逻辑都统一用for结构表达。

基本for循环语法

最基本的for循环包含初始化、条件判断和迭代操作三部分:

for 初始化; 条件; 迭代 {
    // 循环体
}

示例:打印1到5的数字

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

模拟while循环的方式

省略初始化和迭代部分,只保留条件,就可以实现类似while的效果:

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

这会持续执行直到条件为false

无限循环与手动退出

如果连条件也省略,就会进入无限循环,通常配合break语句使用:

for {
    if 满足退出条件 {
        break
    }
    // 其他处理
}

示例:读取用户输入直到输入"quit"

var input string
for {
    fmt.Print("输入命令(quit退出): ")
    fmt.Scanln(&input)
    if input == "quit" {
        break
    }
    fmt.Printf("你输入的是: %s\n", input)
}

使用continue跳过当前迭代

continue用于跳过本次循环剩余内容,直接进入下一次迭代:

示例:打印1到10之间的奇数

for i := 1; i <= 10; i++ {
    if i%2 == 0 {
        continue
    }
    fmt.Println(i)
}

循环中使用range遍历集合

在数组、切片、字符串、map和channel上,常用range进行遍历:

遍历字符串示例:

str := "Hello"
for index, char := range str {
    fmt.Printf("索引 %d, 字符 %c\n", index, char)
}

遍历map示例:

m := map[string]int{"a": 1, "b": 2, "c": 3}
for key, value := range m {
    fmt.Printf("键: %s, 值: %d\n", key, value)
}

基本上就这些。Golang的循环设计简洁,for一统天下,掌握几种写法就能应对各种场景。注意别忘了用breakcontinue控制流程,写起来很顺手。