Golang:iota(枚举)
Go并没有明确意义上的enum(枚举)定义,不过可借助iota标识符实现一组自增常量值来实现枚举类型
iota是go语言的常量计数器,只能在常量的表达式中使用,const中每新增一行常量声明iota计数一次(iota可理解为const语句块中的行索引)
const(x = iota //0y //1z //2
)跳过某些值const(x = iota //0_y //2z //3
)
自增作用范围为常量组,可在多常量定义中使用多个iota,它们各自单独计数,只许确保组中每行常量的列数量相同即可
const(a, b = iota, iota//0, 0c, d //1, 1
)
如果需要中断iota自增,则需要显示恢复,且后值会与上一行常量右值表达式相同
const(a = iota//0b //1c = 100//100d //100e = iota//2f // 3
)
自增默认数据类型是int,可以显示转换
const(a = iota // intb float32 = iota //float32c = iota // int (如果不显示指定=iota,则类型和b相同)
)
Golang:iota(枚举)相关推荐
- Go之开发小功能集合(viper获取配置信息,test编写测试单元,用户目录获取,JWT安全校验,字符串去重,Swag在线接口文档,画字符图像工具,Gin模式的选择,iota枚举,promhttp等)
提示: 该链接是go语言小工具: https://www.kancloud.cn/congzaifeng/go_third_party_libraries/467593 Go语言学习全面文档:http ...
- golang实现枚举类型
描述 golang无枚举类型, 但可以借助自定义类型实现 什么是枚举类型 枚举类型是一种类型, 它的值只有有限个. 换而言之, 枚举类型=一个类型+N个离散值 go的实现, 可以自定义一个类型, 把它 ...
- Golang iota踩坑
iota是Golang中的一个特殊变量,通常在定义"枚举"时使用. 1. 单独声明每个常量,每遇到const时iota为0 package mainimport "fmt ...
- go语言的iota是什么意思_go语言基础之iota枚举
1.iota (在常量的时候,当成枚举使用) 示例1 package main import "fmt" func main() { //1.iota常量自动生成器,每个一行,自动 ...
- golang 的枚举
package mainimport ("fmt" )const (a = 1bcd = 2ef = "aa"gh =iotaij )func main() { ...
- Golang iota详解
iota是go语言的常量计数器,只能在常量表达式中使用 iota在const关键字出现时将被重置为0,const中每新增一行常量声明将使iota计数一次 可理解为const语句块中的行索引. 1.在常 ...
- golang枚举类型 - iota用法拾遗
在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...
- Go开发 之 基础语法(常量、枚举、注释、类型别名、指针)
文章目录 1.常量(const关键字) 1.1.概念 1.2.iota 常量生成器 1.3.无类型常量 2.枚举(const和iota枚举) 2.1.概念 2.2.将枚举值转换为字符串 3.注释(定义 ...
- golang基础知识
文章目录 Go 学习笔记 一.Go常用命令 二.注释 三.命名规则 四.变量 五.基础数据类型 1.布尔类型 2.浮点型 3.字符类型 4.字符串类型 5.数字类型 6.常量 7.iota 枚举 四. ...
- 含枚举类型的函数声明_02Golang基础类型
基础类型 命名 Go语言中的函数名.变量名.常量名.类型名.语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母.数 ...
最新文章
- 嵌入式移植NTP(Network Time Protocol)
- [转载] 理解RESTful架构
- 黑龙江科技大学计算机是几本,黑龙江科技大学是几本
- oracle v$system_event,45.Oracle杂记——Oracle常用动态视图v$system_event
- linux安装qq_Windows和Linux的比较
- ghostscript windows mac 下安装和 C++ 程序调用
- godot常用的一些概念、组件(整理于官方教程)
- Matconvnet学习笔记
- 关于二进制转换为十六进制
- 基于PT100的温度测量系统设计
- 华北电力大学计算机学科排名,2018年华北电力大学世界排名、中国排名、专业排名...
- 数据结构 严蔚敏 第八章 排序 期末复习总结
- unix网络编程中的fd是什么
- DOS计算机设置登录密码,如何在DOS里设置计算机密码
- Android 软件开发时用到的一些有用软件列表
- ATT7022系列STM32F1的HAL库读写操作流程
- 机器学习模型 知乎_深度剖析知乎目前的内容架构模型
- 你为什么要学习这门专栏?
- 【原创】VBA学习笔记(302)VBA的变量的作用范围 与 生命周期
- 身份证号码的合法性校验
热门文章
- 爱奇艺qsv格式转mp4最简单的方法,还有腾讯视频缓存合并转mp4,B站缓存合并 -没有之一
- [附源码]Java计算机毕业设计SSM大学生健康电子档案系统
- 科技攻关 成功构建出国产芯片区块链智能合约专用并行计算卡
- 智能充电桩系统PHP源码,【基于51单片机】电动车智能充电桩(全套)
- 你认为什么样的性格、能力和个人素质适合这个单片机行业
- 大数据时代来临 机房精密空调将迎来黄金发展期
- 企企通入选《高质量数字化转型产品及服务全景图》,助力行业数智化高质量发展
- 用python画画的原理_python来画画第二弹!
- 软考打印准考证图片显示不出来问题
- 纸质义齿保障卡打印机