Go的学习路程:循环|Go 主题月

143 阅读1分钟

上一篇学了 Go 的条件控制,这篇学习一下 Go 的循环结构。不同于其他编程语言 Go 只有一个 for 循环结构。for 循环结构使用与大多数类 C 语言非常接近。

举例说明

package main
import "fmt"
func main() {
    sum := 0
    for i:=0; i<100; i++ {
        sum += i
    }
    fmt.Println(sum)
}

运行结果如下

gorunfor1.png

可以看到同类 C 语言的 for 循环结构非常的相似,这里需要注意的一点是左花括号({)必须与 for 处于同一行。

对于无限循环, Go 中也提供了变种的 for 循环来支持。

package main
import "fmt"
func main() {
    sum := 0
    for {
        sum += 1
        if sum > 88 {
            break
        }
    }
    fmt.Println(sum)
}

同时 Go 中 for 循环结构也支持 continue 与 break 来控制循环。

  • continue: 跳过本次循环,continue 后的代码在本次循环中不在执行
  • break:跳出循环,也就是结束循环
package main
import "fmt"
func main() {
    age := 0
    for {
        age += 1
        if age < 18 {
            fmt.Println("你还太弱小,再等等吧")
            continue
        }

        fmt.Println("你已经成年了,可以来搬砖了") // 当 age 小于 18 时,这条语句没有被执行

        if age > 35 {
            fmt.Println("你太老了,以后别再来了")
            break // 终止循环
        }
    }
    fmt.Println("这么年轻就退休了?")
}

完整的 for 循环结构由三部分组成,分别为循环初始执行、循环控制表达式和每次循环结束执行的表达式。无限循环的 for 只是省略了这三个部分

for 循环中的循环控制条件表达式,控制着循环什么时候结束,当条件表达式为真时循环得以继续执行。