首页 > 其他分享 >Go语言精进之路读书笔记第10条——使用iota实现枚举常量

Go语言精进之路读书笔记第10条——使用iota实现枚举常量

时间:2024-02-01 20:55:06浏览次数:30  
标签:11 10 const 常量 22 读书笔记 Go iota

Go的const语法提供了隐式重复前一个非空表达式的机制

const (
    Apple, Banan = 11, 22
    Straberry, Grape
    Pear, Watermelon
)
// 等价于
const (
    Apple, Banan = 11, 22
    Straberry, Grape = 11, 22
    Pear, Watermelon = 11, 22
)

iota是Go语言的一个预定义标识符,表示const声明块(包括单行声明)中每个常量所处位置在块中的偏移量(从零开始)

  • iota自身也是一个无类型常量,可以像无类型常量那样自动参与不同类型的求值过程,而无须对其进行显式类型转换操作
  • 位于同一行的iota即便出现多次,其值也是一样的
  • 使用"_"略过iota=0,或实现非连续枚举值
  • 定义浮点型的枚举常量
const (
    _ = iota // 0
    Pin1
    Pin2
    Pin3
    _
    Pin5 // 5
)

const (
    PI = 3.1415926                  // 派
    PI_2 = 3.1415926 / (2 * iota)   // 派/2
    PI_4                            // 派/4
)

标签:11,10,const,常量,22,读书笔记,Go,iota
From: https://www.cnblogs.com/brynchen/p/18002099

相关文章

  • Go语言精进之路读书笔记第8条——使用一致的变量声明形式
    Go语言常见的变量声明形式varaint32varsstring="hello"vari=13n:=17var(crlf=[]byte("\r\n")colonSpace=[]byte(":"))8.1包级变量的声明形式1.声明并同时显式初始化//Go编译器会自动根据等号右侧的InitExpression表达式求值的类型确定左侧......
  • MIT 6.1810 Lab: page tables
    lab网址:https://pdos.csail.mit.edu/6.828/2022/labs/pgtbl.htmlxv6Book:https://pdos.csail.mit.edu/6.828/2022/xv6/book-riscv-rev3.pdfBooklearningXv6使用Sv39RISC-V标准,即使用39位的虚拟地址。前27位作为页表项索引,后12位作为页内偏移。页表项记录一个44位的实页号......
  • 金媒10.3升级解决模板消息失效问题及小程序上架流程
    做为老用户都知道金媒系统是全开源系统,虽然里面有JS文件里会记录域名等服务器信息但是懂技术的去除屏蔽掉即可,但是有一个问题就是微信官方消息模板已经改版了旧的模板不在使用,这就造成所有需要对接的CMS系统都要改版,金媒10.3就是针对这一问题做了升级,即以前所有版本即使安装后也不......
  • PHPYUN人才招聘系统V7.0_VIP版更新包(20240101)中若干bug的修复解析及上架小程序过程
    没想到这么大的一个php开发者会遇到若干小bug问题,以前正常运行的程序升级到7.0后出现莫名奇妙的问题,比如模板消息不能使用了,完全收不到消息,后来才知道因为改版代码里出现了Bug,在比如网络招聘申请环节没反应,也是bug可能这次更新较大没注意把还好我自己解决了把解决过程分享出来!......
  • 10线性代数基础综合卷
    张宇基础卷线代发现很多问题,值得再做一遍3行变换是把E放到右方,列变换是把E放到下方。这道题求逆可以用穿脱原则解出来4首先记结论,AB=O则r(a)+r(b)<n,学会证明(解集的秩为n-r(a)),B是从解集中抽出来的;5根据秩的情况判断特征值,不满秩则一定有0特征值; 当可对角化时,零特征值所对应的特征......
  • RunnerGo低代码测试体验
    RunnerGo是基于go语言自研的一款企业级全栈式测试平台,采用Apache-2.0license开源协议,涵盖接口测试、性能测试、UI测试和项目管理等功能,并独创“拖拉拽”的方式快速编排真实测试场景的功能,加速产品交付周期、保证产品交付质量,为企业测试团队和产研团队提供一站式解决方案,是目前市......
  • MongoDB由浅入深(查询)
    //基础查询db.orderSlic.find();//根据ID查询db.orderSlic.find({_id:54708407});//范围查询db.orderSlic.find({"_id":{"$gte":54708407,"$lte":54708409}});//多字段分组统计db.orderSlic.aggregate([{$group:{_id:{shopId:"$......
  • rtthread系统用 RT1062 移植网卡功能(LAN8720A)
    RT-Thread:v4.0.2(master)SOC:i.MXRT1062Board:自研控制板背景描述1.有个控制板网口一直没人调试。2.NXPRT1xxx系列ENET_MAC调试心得。3.EthernetMAC控制器调试《终极指南》。 开整RT1062移植网卡功能(LAN8720A)1、i.MXRT系列外设驱动添加指南2、LAN8720A芯片的......
  • laravel生成二维码,并添加背景图片,图标logo
    1、安装组件composerrequiresimplesoftwareio/simple-qrcode1.3.*在 config/app.php 注册服务提供者:SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class同样在 config/app.php 添加 QrCode 门面:'QrCode'=>SimpleSoftwareIO\QrCode\Facades\QrCode::class2......
  • 【C++】力扣101-分配问题和区间问题
    1.有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃一个饼干,且只有饼干的大小不小于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子可以吃饱。#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;intcalc......