Go語言中的循環(huán)控制語句用來改變程序的執(zhí)行。當(dāng)給定循環(huán)的執(zhí)行離開其作用域時(shí),在作用域內(nèi)創(chuàng)建的對(duì)象也被銷毀。Go語言支持3種循環(huán)控制語句:
Break
Goto
Continue
break語句用于終止其所在的循環(huán)或語句。 此后,控件將傳遞到break語句之后出現(xiàn)的語句(如果有)。 如果break語句存在于嵌套循環(huán)中,則它僅終止那些包含break語句的循環(huán)。
流程圖:

package main
import "fmt"
func main() {
for i:=0; i<5; i++{
fmt.Println(i)
//For循環(huán)在i = 3時(shí)中斷
if i == 3{
break;
}
}
}輸出:
0 1 2 3
該語句用于將控制轉(zhuǎn)移到程序中的標(biāo)記語句。標(biāo)簽是有效的標(biāo)識(shí)符,放在控件轉(zhuǎn)移處的語句前面。由于難以跟蹤程序的控制流,程序員通常不使用goto語句。
流程圖:

package main
import "fmt"
func main() {
var x int = 0
//for循環(huán)的工作原理與while循環(huán)相同
Lable1: for x < 8 {
if x == 5 {
//使用goto語句
x = x + 1;
goto Lable1
}
fmt.Printf("值為: %d\n", x);
x++;
}
}輸出:
值為: 0 值為: 1 值為: 2 值為: 3 值為: 4 值為: 6 值為: 7
該語句用于在特定條件下跳過循環(huán)的執(zhí)行部分。 之后,它將控制轉(zhuǎn)移到循環(huán)的開始。 基本上,它跳過以下語句,并繼續(xù)循環(huán)的下一個(gè)迭代。
流程圖:

package main
import "fmt"
func main() {
var x int = 0
//for循環(huán)的工作原理與while循環(huán)相同
for x < 8 {
if x == 5 {
//跳過兩次迭代
x = x + 2
continue
}
fmt.Printf("值為: %d\n", x)
x++
}
}輸出:
值為: 0 值為: 1 值為: 2 值為: 3 值為: 4 值為: 7