Go语言 标签Label
Go语言 label标签和枚举介绍及使用示例
目录
标签label
标签和goto
continue
break
枚举
代码示例
说明
总结
标签label
标签和goto
设置标签,并在标签中判断符合条件后,跳到指定标签位置。
示例如下:
package mainimport "fmt"func main() {LABEL1:for i := 0; i < 5; i++ {for j := 0; j < 5; j++ {if j == 3 {goto LABEL1}fmt.Println("i:", i, ",j:", j)}}fmt.Println("end------")
}
下次进入循环时,i不会保存之前的状态,重新从0开始计算,重新来过,无限循环。
continue
会跳到指定的位置,但是会记录之前的状态,i变成1。
示例如下:
func main() {
LABEL1:for i := 0; i < 5; i++ {for j := 0; j < 5; j++ {if j == 3 {continue LABEL1}fmt.Println("i:", i, ",j:", j)}}fmt.Println("end------")
}
运行结果:
i: 0 ,j: 0
i: 0 ,j: 1
i: 0 ,j: 2
i: 1 ,j: 0
i: 1 ,j: 1
i: 1 ,j: 2
i: 2 ,j: 0
i: 2 ,j: 1
i: 2 ,j: 2
i: 3 ,j: 0
i: 3 ,j: 1
i: 3 ,j: 2
i: 4 ,j: 0
i: 4 ,j: 1
i: 4 ,j: 2
end------
break
直接跳出指定位置的循环。
示例如下:
func main() {LABEL1:for i := 0; i < 5; i++ {for j := 0; j < 5; j++ {if j == 3 {break LABEL1}fmt.Println("i:", i, ",j:", j)}}fmt.Println("end------")
}
运行结果:
i: 0 ,j: 0
i: 0 ,j: 1
i: 0 ,j: 2
end------
枚举
在go语言中没有枚举类型,但是我们可以使用const + iota(常量累加器)来进行模拟。
代码示例
示例如下:
package mainimport "fmt"func main() {// 定义变量//var number int//var name string//var flag bool// 可以使用变量组来统一定义变量/*var (number int,name string,flag bool)*/// 模拟一个一周的枚举const(MONDAY = iota //0TUESDAY //1WEDNESDAY //2THURSDAY //3FRIDAY //4SATURDAY //5SUNDAY //6M, N = iota, iota // const属于预编译期赋值,所以不需要:=进行自动推导)fmt.Println(MONDAY)fmt.Println(TUESDAY)fmt.Println(WEDNESDAY)fmt.Println(THURSDAY)fmt.Println(FRIDAY)fmt.Println(SATURDAY)fmt.Println(SUNDAY)fmt.Println(M, N)
}
说明
1.iota是常量组计数器
2.iota从0开始,每换行递增1
3.常量组有个特点如果不赋值,默认与上一行表达式相同
4.如果同一行出现两个iota,那么两个iota的值是相同的
5.每个常量组的iota是独立的,如果遇到const iota会重新清零
总结
Go语言 label标签和枚举介绍及使用示例
相关文章:
Go语言 标签Label
Go语言 label标签和枚举介绍及使用示例 目录 标签label 标签和goto continue break 枚举 代码示例 说明 总结 标签label 标签和goto 设置标签,并在标签中判断符合条件后,跳到指定标签位置。 示例如下: package mainimport "…...
自反射 RAG 管道:如何实现?
什么是 Self-RAG? 人工智能中的自反射 RAG(检索增强生成)管道是指一种自适应和自我改进的系统,它结合了信息检索和语言生成过程,以提供更准确和特定于上下文的响应。这种类型的管道超越了标准的RAG 管道,它结合了一种自反射机制,使其能够评估其性能,确定需要改进的领域…...

怎么将jar注册为windows系统服务详细操作
将spring boot项目编译成jar,注册为windows系统服务 在网上了解到,winsw这个开源项目,去github看了下,作者常年维护更新,文档齐全,拥有不少,自己写了个小demo体验了下还不错,然后又运行了一个晚上,没啥问题,遂决定采用它 开源地址 源库地址 https://github.com/winsw/winsw R…...

数据结构.
1:基本大纲 数据结构、算法线性表:顺序表、链表、栈、队列树:二叉树、遍历、创建查询方法、排序方式 2:数据结构(逻辑结构,存储结构,操作(数据的运算)) 2.1:数据…...

thinkphp5之sql注入漏洞-builder处漏洞
目录 适用版本 环境搭建 文件下载安装 配置文件修改 漏洞分析 适用版本 注:thinkphp版本:5.0.13<ThinkPHP<5.0.15 、 5.1.0<ThinkPHP<5.1.5 环境搭建 文件下载安装 在github上面下载相应版本,下载think文件,…...

30集 如何编写ESP32程序接入AIGC实现更多有趣的功能-《MCU嵌入式AI开发笔记》
30集 如何编写ESP32程序接入AIGC实现更多有趣的功能(温度)-《MCU嵌入式AI开发笔记》 前言 之前我们建立了ESP-IDF和ESP-ADF开发环境,验证了硬件,验证了AI-CHAT的AI聊天工程,并且深入学习了cmake编译过程,…...

【JUC】Java对象内存布局和对象头
文章目录 面试题Object object new Object() 谈谈你对这句话的理解? 对象在堆内存中存储布局权威定义(周志明老师JVM第三版)对象在堆内存中的存储布局详解对象头的MarkWord源码对象标记源码 对象内存布局(使用JOL证明)…...
简单介绍一下css中transform的内容
在CSS中,transform属性用于对元素进行变换,包括旋转、缩放、倾斜和平移等操作。以下是transform属性中常用的属性: translate:用于元素的平移操作,可以指定元素在X轴和Y轴方向上的平移距离。 rotate:用于元…...
C 循环
C 循环 在C编程语言中,循环是一种控制结构,它允许我们重复执行一段代码多次。这是编程中非常基础且强大的功能,广泛应用于各种算法和数据处理的场景中。本文将详细介绍C语言中的循环概念,包括不同类型的循环语句及其使用方法。 …...
什么是设计模式?一文理解,通俗易懂!
前言 最近在学框架的时候,老师总是时不时带两句设计模式,什么工厂模式,单例模式,开发框架用到就提一嘴,但是没有细讲,为了搞懂啥是设计模式,为哈开发框架用到它,我就查找资料&#…...

doxygen制作接口文档
系列文章目录 文章目录 系列文章目录前言一、下载二、安装三、代码注释四、使用doxygen生成文档 前言 每次手动写接口文档太痛苦了,现在福利来了–doxygen Doxygen是软件开发中广泛使用的文档生成器工具。它自动从源代码注释生成文档,解析有关类、函数和…...

PDF怎么在线转Word?介绍四种转换方案
PDF怎么在线转Word?在数字化办公时代,文档的互换性变得尤为重要。PDF格式因其跨平台兼容性和版面固定性而广受欢迎,但有时我们可能需要将PDF文件转换为Word文档,以便进行编辑或进一步处理。以下是四种常见的在线PDF转Word的方法&a…...

大数据应用型产品设计方法及行业案例介绍(可编辑110页PPT)
引言:随着信息技术的飞速发展,大数据已成为推动各行各业创新与变革的重要力量。大数据应用型产品,作为连接海量数据与实际应用需求的桥梁,其设计方法不仅要求深入理解数据特性,还需精准把握用户需求,以实现…...

【Python零基础学习】Python环境安装和IDE选择
文章目录 前言一、Python介绍二、Python下载安装三、IDE选择VS CodePyCharm 四、打印Hello Python World使用cmd使用VS Code 总结 前言 本文是笔者学习Python语言的开篇文章了,Python语法相对比较简单,对编程初学者而言十分友好,应用极其广泛…...
【langchain学习】使用LangChain创建具有上下文感知的问答系统
探讨如何使用LangChain库创建一个上下文感知的问答系统。这个系统能够根据用户的聊天历史,将当前问题转化为一个独立的问题,接着根据上下文提供准确的答案。 1. 导入所需模块 from operator import itemgetter from config import llm # 从config文件…...

原神4.8版本升级计划数据表
原神4.8版本角色数据升级计划表 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>原神4.8版本升级计划…...

海南云亿商务咨询有限公司放大电商品牌影响力
在数字化浪潮席卷全球的今天,电商行业以其独特的魅力和无限潜力,成为了推动经济发展的重要力量。而在这片浩瀚的电商海洋中,抖音电商以其独特的短视频直播模式,迅速崛起为一颗璀璨的新星,引领着新一轮的消费潮流。作为…...

用exceljs和file-saver插件实现纯前端表格导出Excel(支持样式配置,多级表头)
exceljs在Jquery(HTML)和vue项目中实现导出功能 前言Jquery(HTML)中实现导出第一步,先在项目本地中导入exceljs和file-saver包第二步,封装导出Excel方法(可直接复制粘贴使用)第三步&…...

TIA博途_下载时提示密码错误,但是之前并没有设置过密码的解决办法
TIA博途_下载时提示密码错误,但是之前并没有设置过密码的解决办法 如下图所示,下载程序时提示:在线检查保护机密PLC组态数据的密码时出错。 原因: 自 TIA Portal V17 起,新增了安全向导用于帮助客户快速进行安全相关的设置。即保护机密的PLC组态数据功能导致出现下载异常。…...
使用消息队列、rocketMq实现通信
1背景 springboot框架, 2需求 后端需要调用一个类似于api这种作用的小工具,获得工具的返回值,后端再根据客户端的返回值进行更新数据操作 3讨论 1工具开发者使用的是python,将工具封装起来,暴露成web接口供后端调用 2方式一能…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...