非零基础自学Golang
文章目录
- 非零基础自学Golang
- 第5章 流程控制
- 5.2 循环控制
- 5.2.1 for循环
- 5.2.2 break 跳出循环
- 5.2.3 continue 继续循环
第5章 流程控制
5.2 循环控制
5.2.1 for循环
Go语言中的循环逻辑通过for关键字实现。不同于其他编程语言,Go语言没有while关键字,不存在while循环。
for循环格式如下:
for 初始语句; 条件表达式 ; 赋值表达式 {
循环体
}
循环体中代码会不断地被执行,直到条件表达式的结果为false,程序才会继续执行for循环之后的程序代码。
其中,初始语句、条件表达式和赋值表达式都是可选的。
[ 动手写 5.2.1]
package main
import "fmt"
func main() {
for i := 1; i <= 5; i++ {
fmt.Println(i)
}
}
运行结果
5.2.2 break 跳出循环
break语句可以用来结束for循环,而且可以在语句后面添加标签,表示退出标签对应的代码块逻辑。
注意:break语句如果不带标签,则默认跳出最内层的for循环。
我们可以对动手写5.2.1中的程序进行更改
[ 动手写 5.2.2]
package main
import "fmt"
func main() {
i := 1
for {
for {
if i > 5 {
fmt.Println("跳出内层for循环")
break
}
fmt.Println(i)
i++
}
fmt.Println("跳出外层循环")
break
}
}
运行结果
我们也可以使用带标签的break语句,直接跳出最外层的for循环:
[ 动手写 5.2.3 ]
package main
import "fmt"
func main() {
i := 1
OuterLoop:
for {
for {
if i > 5 {
break OuterLoop // 跳出OuterLoop 标签对应的循环
}
fmt.Println(i)
i++
}
}
}
运行结果
5.2.3 continue 继续循环
continue语句可以立即结束当前循环体中的逻辑,开始下一次循环。和break语句类似,continue语句后也可跟标签,表示开始标签所对应的循环。
[ 动手写 5.2.4 ]
package main
import "fmt"
func main() {
OuterLoop:
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
if j == 1 {
fmt.Println(i, j)
continue OuterLoop
}
}
}
}
运行结果