Go 语言 goto 语句
Go 语言的 goto 语句可以无条件地转移到过程中指定的行。
goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
语法
goto 语法格式如下:
goto label; .. . label: statement;
goto 语句流程图如下:

实例
在变量 a 等于 15 的时候跳过本次循环并回到循环的开始语句 LOOP 处:
实例
package main
import "fmt"
func main() {
/* 定义局部变量 */
var a int = 10
/* 循环 */
LOOP: for a < 20 {
if a == 15 {
/* 跳过迭代 */
a = a + 1
goto LOOP
}
fmt.Printf("a的值为 : %d\n", a)
a++
}
}
import "fmt"
func main() {
/* 定义局部变量 */
var a int = 10
/* 循环 */
LOOP: for a < 20 {
if a == 15 {
/* 跳过迭代 */
a = a + 1
goto LOOP
}
fmt.Printf("a的值为 : %d\n", a)
a++
}
}
以上实例执行结果为:
a的值为 : 10 a的值为 : 11 a的值为 : 12 a的值为 : 13 a的值为 : 14 a的值为 : 16 a的值为 : 17 a的值为 : 18 a的值为 : 19
Go 语言循环语句
酷神oL
916***937@qq.com
打印九九乘法表:
package main import "fmt" func main() { //print9x() gotoTag() } //嵌套for循环打印九九乘法表 func print9x() { for m := 1; m < 10; m++ { for n := 1; n <= m; n++ { fmt.Printf("%dx%d=%d ",n,m,m*n) } fmt.Println("") } } //for循环配合goto打印九九乘法表 func gotoTag() { for m := 1; m < 10; m++ { n := 1 LOOP: if n <= m { fmt.Printf("%dx%d=%d ",n,m,m*n) n++ goto LOOP } else { fmt.Println("") } n++ } }酷神oL
916***937@qq.com
被风吹过的夏天
115***4879@qq.com
这个应该很直观:
package main import "fmt" func main() { var test int fmt.Printf("请输入: \n") fmt.Scan(&test) switch test { case 0: goto end case 1: println("我是1") default: println("我是default") } println("我是switch中间的内容") end: println("结束咯") }被风吹过的夏天
115***4879@qq.com