前言
在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
goto语句可以无条件地转移到指定的行
goto一般会配合条件语句来执行
语法
goto label
..
..
lable: statement
常规示例
package main
import (
"fmt"
)
func main() {
functest(3)
fmt.Println("------")
functest(6)
}
func functest(num int) {
fmt.Println("函数开始执行...")
if num > 5 {
goto startLabel
}
fmt.Println("传值不大于5")
startLabel:
fmt.Println("值是", num)
}
输出
使用goto跳出循环
goto关键字也可以用在跳出循环
package main
import (
"fmt"
)
func main() {
for i := 1; i < 5; i++ {
if i == 3 {
goto startLabel
}
fmt.Println(i)
}
startLabel:
fmt.Println("...跳出循环")
}
输出