[toc]

Go 语言提供的流程控制语句包括 ifswitchforgotoselect,其中 select 用于监听 channel(通道)在讲解通道的时候再详细介绍。

if 语句

语法:

if optionalStatement1; booleanExpression1 {
    block1
} else if optionalStatement2; booleanExpression2 {
    block2
} else {
    block3
}

其中 optionalStatement 是可选的表达式,真正决定分支走向的是 booleanExpression1 的值。

for 语句

Go 语言的 for 语句可以遍历数组,切片,映射等类型,也可以用于无限循环。以下是其语法:

for { // 无限循环
    block
}
 
for booleanExpression { // while循环,在Go语言中没有while关键字
 
}
 
for index, char := range aString { // 迭代字符串
 
}
 
for item := range aChannel { // 迭代通道
 
}

跳转语句

Go 语言中使用 goto 关键字实现跳转。goto 语句的语义非常简单,就是跳转到本函数内的某个标签,例如:

func myfunc(){
    i := 0
    THIS: //定义一个THIS标签
    fmt.Println(i)
    i++
    if i < 1 {
        goto THIS //跳转到THIS标签
    }
}