循环语句

Golang中的循环语句

Go 语言提供了以下几种类型循环处理语句:

循环类型描述
for 循环重复执行语句块
循环嵌套在 for 循环中嵌套一个或多个 for 循环

循环控制语句

循环控制语句可以控制循环体内语句的执行过程。

GO 语言支持以下几种循环控制语句:

控制语句描述
break 语句经常用于中断当前 for 循环或跳出 switch 语句
continue 语句跳过当前循环的剩余语句,然后继续进行下一轮循环。
goto 语句将控制转移到被标记的语句。

for循环

下面的描述中:

  • init: 一般为赋值表达式,给控制变量赋初值;
  • condition: 关系表达式或逻辑表达式,循环控制条件;
  • post: 一般为赋值表达式,给控制变量增量或减量。

Golang中的For循环有3中形式:

类似PHP的for循环

也只有这种情况下使用分号

语句执行过程如下:

  1. 先对表达式 init 赋予初始值
  2. 判断init是否满足给定条件,如果其值为真,满足循环条件condition则执行循环内逻辑,然后执行post,进行第二次循环。如果不满足condition条件则终止for循环,继续下面的逻辑
for init; condition; post {
}

类似PHP中while的for循环

for condition{
}

实践代码:

package main

import "fmt"

func main() {
        sum := 0
        for sum < 10 {
            sum++ // 无限循环下去
        }
        fmt.Println(sum) // 无法输出
}

无限循环形式

其实并非绝对的无限循环,在这种用法下仍然可以使用breakgoto跳出循环

for{
    sum++ // 无限循环下去
}

range格式循环

for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:

for key, value := range oldMap {
    newMap[key] = value
}

range格式实例

package main
import "fmt"

func main() {
        strings := []string{"google", "runoob"}
        for i, s := range strings {
                fmt.Println(i, s)
        }


        numbers := [6]int{1, 2, 3, 5}
        for i,x:= range numbers {
                fmt.Printf("第 %d 位 x 的值 = %d\n", i,x)
        }  
}

本文章由 https://itdashu.com 原创发布,欢迎转载,转载请注明出处。
投稿或联系站长请发送邮件至 leno@itdashu.com。
Golang教程