【golang】每日chatGPT:golang中实现ENUM枚举类型 | go enum

这篇具有很好参考价值的文章主要介绍了【golang】每日chatGPT:golang中实现ENUM枚举类型 | go enum。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、golang中是没有枚举的

在golang极简的哲学思想中,没有内置枚举类型

这里我们通过map+iota去实现一个枚举类型

1.1、需求

枚举值如下:

key value
1 发电类
2 储能类
13 负荷类

1.2、自定义枚举类

// 定义一个类型
type TYPEID int

// 定义key(数值类型)
const (
	DEVICE_TYPE_ID1 TYPEID = iota + 1
	DEVICE_TYPE_ID2
	DEVICE_TYPE_ID3
)

// 定义枚举值
var ENUM_DEVICE_TYPE_ENUM = map[TYPEID]string{
	DEVICE_TYPE_ID1: "发电类",
	DEVICE_TYPE_ID2: "储能类",
	DEVICE_TYPE_ID3: "负荷类",
}

1.3、测试

func main() {
	for i := 1; i < 4; i++ {
		fmt.Println(ENUM_DEVICE_TYPE_ENUM[TYPEID(i)])
	}
	fmt.Println("=========")
	fmt.Println(ENUM_DEVICE_TYPE_ENUM[DEVICE_TYPE_ID2])
}

打印如下:

发电类
储能类
负荷类
=========
储能类文章来源地址https://www.toymoban.com/news/detail-613045.html

1.4、完整代码

package main

import "fmt"

type TYPEID int

const (
	DEVICE_TYPE_ID1 TYPEID = iota + 1
	DEVICE_TYPE_ID2
	DEVICE_TYPE_ID3
)

var ENUM_DEVICE_TYPE_ENUM = map[TYPEID]string{
	DEVICE_TYPE_ID1: "发电类",
	DEVICE_TYPE_ID2: "储能类",
	DEVICE_TYPE_ID3: "负荷类",
}

func main() {
	for i := 1; i < 4; i++ {
		fmt.Println(ENUM_DEVICE_TYPE_ENUM[TYPEID(i)])
	}
	fmt.Println("=========")
	fmt.Println(ENUM_DEVICE_TYPE_ENUM[DEVICE_TYPE_ID2])
}

到了这里,关于【golang】每日chatGPT:golang中实现ENUM枚举类型 | go enum的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Rust 数据类型 之 类C枚举 c-like enum

    目录 枚举类型 enum 定义和声明 例1:Color 枚举 例2:Direction 枚举 例3:Weekday 枚举 类C枚举 C-like 打印输出 强制转成整数 例1:Weekday 枚举 例2:HttpStatus 枚举 例3:Color 枚举 模式匹配 match 表达式 枚举方法 枚举类型是一种用于表示一组有限数量相互关联的离散型数据,这些值可

    2024年02月16日
    浏览(40)
  • TS—枚举Enum用法

    枚举用于定义数据集合,使用枚举可以定义一些带名字的常量,有普通枚举、字符串枚举和常量枚举等类型。 普通枚举:初始值默认为 0,其余的属性按顺序依次递增。 也可手动设置初始值(其余的属性依旧按顺序递增): 字符串枚举: 常量枚举:使用 const 修饰的枚举

    2024年02月16日
    浏览(38)
  • TypeScript【enum 枚举】

    导语 在 TypeScript 中,新增了很多具有特性的一些数据类型处理方法, enum 【枚举】 就是其中,很具有代表性的一种,所以本章节就来聊聊 在 TypeScript 中如何去运用 enum 【枚举】 。 枚举的 概念 : 枚举(Enum)类型 用于取值被限定在一定范围内的场景 ,比如一周只能有七天

    2024年02月14日
    浏览(39)
  • C++枚举解读(enum)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 对于开发C++来说,枚举是一个几乎必然用到的功能。当然今天要讲的枚举肯定不是平常漫不经心的使用,而是从里到外地深扒它,逐渐揭开它神秘地面纱,发现一些未曾注意到地东西。 枚举(enumeration)类

    2024年02月13日
    浏览(44)
  • 【C++】枚举enum使用详解

    目录 一.什么是枚举enum(WHAT) 二.使用枚举enum的场景(WHEN and WHERE) 三.如何使用枚举enum(HOW) 1)枚举的定义 2)枚举的初始化 3)指定枚举类型  4)声明枚举对象 5)枚举对象赋值问题 6)枚举的取值范围 四.枚举enum的应用 枚举(enumeration)和类相似,能够定义一种新的数据类型,不同的

    2024年02月15日
    浏览(41)
  • ffmpeg enum AVChannel枚举解析

    AVChannel枚举是在2022-12-20的提交中添加的,对应的版本号是5.1. 这个提交的描述是\\\"avutil/channel_layout: add AVChannel enum and related functions\\\"。 AVChannel 是一个枚举类型,用于表示音频数据的各个声道。在音频数据中,一个“声道”是一个独立的音频信号,它可以被独立处理和播放。例如

    2024年02月11日
    浏览(31)
  • C语言中enum(枚举)详解

    enum 是 enumerate(列举,枚举)一词的缩写,是 C 语言中的一种 常量 ,被称为 enumeration constant 。 enum 提供了一种很方便的方法来将值和名称关联起来,是 #define 的一种替代方法。 enum 可以看作是一种特殊的数组,是 常量组成的列表 ,而且这个常量只能是整数型。 所以如果是

    2024年02月13日
    浏览(37)
  • C语言学习笔记:枚举(enum)

    ✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 目录 简介 枚举定义 枚举变量的定义 枚举的应用 枚举enum是英文enumerate的缩写,列

    2024年02月09日
    浏览(41)
  • 【C程序设计】C enum(枚举)

    枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量,它可以让数据更简洁,更易读。 枚举类型通常用于为程序中的一组相关的常量取名字,以便于程序的可读性和维护性。 定义一个枚举类型,需要使用 enum ,后面跟着枚举类型的名称,以及用大括

    2024年01月23日
    浏览(35)
  • C# 枚举使用整理_C# enum详解

    一、枚举的定义 枚举类型 是由基础 整型数值类型 的一组命名常量定义的 值类型 。 System.Enum 类型是所有枚举类型的抽象基类。 它提供多种方法来获取有关枚举类型及其值的信息。 有关更多信息和示例,请参阅 System.Enum API 参考页。 可在基类约束中使用 System.Enum(称为枚举

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包