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
相关推荐
朱永博3 小时前
使用Onnruntime实现Padim/Patchcore推理
开发语言·c#
老孙讲技术3 小时前
集成商选型笔记:原生 OpenSDK(低延迟)vs Web 轻应用(7 天上线)怎么选
后端
前端H3 小时前
Biome & Rolldown:Rust 工具链接管前端基建
开发语言·前端·rust
天天进步20153 小时前
UI-TARS 源码解析 #4:UI-TARS 与传统 RPA 的区别:为什么它不是简单的坐标点击脚本?
开发语言
大鸡腿同学3 小时前
AI 智能剪辑
后端
运维行者_3 小时前
广域网性能监控:分布式IT架构下的链路质量保障
开发语言·网络·分布式·后端·架构·数据库架构
梅雅达编程笔记3 小时前
零基础学 Python 第7章 | 字典 dict:键值对存储
开发语言·python·beautifulsoup·numpy·pandas
灯澜忆梦3 小时前
GO---map函数
开发语言·前端·后端·golang
QQ_21696290963 小时前
【项目编号:project05966】SpringBoot/Vue 电影推荐系统:用户端推荐、电影资讯与后台数据管理全流程
vue.js·spring boot·后端
用户6757049885024 小时前
手摸手教你玩 Jenkins,一次搞懂 CI/CD!(第三章:发布之nodeAgent)
后端·jenkins