和很多其它语言一样,Go也支持goto
跳转语句。 在一个goto
跳转语句中,goto
关键字后必须跟随一个表明跳转到何处的跳转标签。 我们使用LabelName:
这样的形式来声明一个名为LabelName
的跳转标签,其中LabelName
必须为一个标识符。 一个不为空标识符的跳转标签声明后必须被使用至少一次。
一条跳转标签声明之后必须立即跟随一条语句。 如果此声明的跳转标签使用在一条goto
语句中,则当此条goto
语句被执行的时候,执行将跳转到此跳转标签声明后跟随的语句。
一个跳转标签必须声明在一个函数体内,此跳转标签的使用可以在此跳转标签的声明之后或者之前,但是此跳转标签的使用不能出现在此跳转标签声明所处的最内层代码块之外。
下面这个例子使用跳转标签声明和goto
跳转语句来实现了一个循环:
package main import "fmt" func main() { i := 0 Next: // 跳转标签声明 fmt.Println(i) i++ if i < 5 { goto Next // 跳转 } }
上面刚提到了一个跳转标签的使用不能出现在此跳转标签声明所处的最内层代码块之外,所以下面的代码片段中的跳转标签使用都是不合法的。
package main func main() { goto Label1 // error { Label1: goto Label2 // error } { Label2: } }
标签:语句,goto,标签,golang,跳转,main,声明 From: https://www.cnblogs.com/sunlong88/p/17652663.html