标签
标签
go语言中允许使用标签Lable来标识一个语句的位置,goto,break,continue语句的跳出
标签的基本语法
Lable: Statement
跳转
goto
作用
goto语句需结合标签使用,用于函数内部的跳转
基本形式:
goto Lable
例如:
package main
import "fmt"
func main() {
fmt.Println("a")
goto L1 //标签L1是用户起的名字
fmt.Println("b")
L1:
fmt.Println("c")
}
注意事项:
1.goto跳过的语句不会被执行
2.goto语句只能在函数内使用,不能跨函数
3.goto语句不能跳过局部变量的声明
4.goto语句不能跳到内部作用域内(如从for循环外跳到for循环内)
break
作用:
用于跳出for,switch和select(后面的文章会提到)并开始执行循环之后的语句。
例如:计算1+2+…+10=?
package main
import "fmt"
func main() {
a:=1
sum:=0
for {
if a > 10{
break;//当a>10时跳出for循环
}
sum=sum+a
a++;
}
}
break语句也可以结合标签使用
package main
import "fmt"
func main() {
a:=1
sum:=0
for {
if a > 10{
break L1;//当a>10时跳出for循环
}
sum=sum+a
a++;
}
L1:fmt.Println(sum)
}
continue
作用:
1.跳过本次for循环的剩余语句,继续执行下一次for循环
2.continue 语句在多层嵌套的循环语句体中想要跳出for循环时,可以通过标签指明要跳过的是哪一层循环
例如:
package main
import "fmt"
func main() {
var a int
sum:=0
for a=10;a<20;a++ {
if a > 10{
continue//当a>10时不再执行剩余语句
}
sum=sum+a
a++;
}
}
此程序的功能是计算1+2+…+10=?
continue语句也可以结合标签使用
例如:
package main
import "fmt"
func main() {
var a int
sum:=0
L1:
for a=10;a<20;a++ {
if a > 10{
continue L1//当a>10时不再执行剩余语句
}
sum=sum+a
a++;
}
}