Golang基础 Label标签与goto跳转

使用方法

  • Label 和goto是必须的

  • Label可以声明再函数体的任何地方

  • Label的作用范围是在函数体中

  • Label在嵌套函数(闭包)是不可用的. 不管是在闭包里调用闭包外的Label, 还是在闭包外调用闭包里的Label

  • 变量的声明必须在goto之前

示例

Go 复制代码
package main

import "fmt"

func main() {
	fmt.Println("1")
	goto End

	fmt.Println("2")
End:
	fmt.Println(3)
}

输出:

bash 复制代码
1
3

Label在嵌套函数(闭包)是不可用的

bash 复制代码
package main

import (
	"fmt"
)

func main() {
	fmt.Println(1)
	func() {
		fmt.Println("Nested function")
		goto End
	}()
End:
	fmt.Println(2)
}

输出:

bash 复制代码
# devops/test
.\study.go:11:8: label End not defined
.\study.go:13:1: label End defined and not used

参考文档

bash 复制代码
https://www.cnblogs.com/zhangyafei/p/13938116.html
相关推荐
一木 之林8 分钟前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
吴声子夜歌10 分钟前
Java——类、对象及方法(一)
java·开发语言
阿里嘎多学长19 分钟前
2026-08-29 GitHub 热点项目精选
开发语言·程序员·github·代码托管
长大198820 分钟前
Python代码慢?这5个性能优化技巧让速度提升100倍
后端
এ慕ོ冬℘゜40 分钟前
JavaScript学习心得:从只会语法,到真正会写业务逻辑
开发语言·javascript·ecmascript
超超不吵吵42 分钟前
Java AI转型实战(十):Agent 智能体初探
后端
2601_9669496544 分钟前
五档盘口数据对量化交易有什么价值?从信号判断到策略风险的完整分析
开发语言·人工智能·python·数据分析·量化·股票数据·quantdash
步行cgn1 小时前
@AllArgsConstructor 是 Lombok 提供的注解
后端
柠檬味拥抱1 小时前
鸿蒙原生 AI 应用开发实战:用蓝耘 MaaS 给纪念日 App 装上「大模型大脑」
后端
小吴学不废Java1 小时前
Python 基础语法
开发语言·python