首页 > 其他分享 >golang的iota使用

golang的iota使用

时间:2023-05-26 20:12:34浏览次数:43  
标签:const fmt golang 88 使用 100 iota

1、iota是什么

  iota是常量的计数器,可理解为const定义常量的行数的索引,注意是行数。

  const中每新增一行常量声明将使iota计数一次,前提是iota在const中出现

2、应用场景

  一般用于枚举数据

3、易错点

  因为iota一般出现在const语句块的第一行,不少初学者会将之认为iota就是0,这是不对的。

  准确的说:iota出现在const语句块中的第几行,那值就是几,当然这里的行数的索引也是以0为开始。

package main
import "fmt"
const (
    a = iota    // 0
    b           // 1
    c           // 2
)
 
const (
    x = 1       // 1
    y = iota    // 1
    z           // 2
)
 
// 为什么c1不是2? 因为b1为100,按照golang常量定义的简便写法,所以c1为100
const (
    a1 = iota  //0
    b1 = 100   //100
    c1      //100
    d1 = iota  //3
    e1      //4
)
 
func main() {
    fmt.Println(a, b, c)                   
    fmt.Println(x, y, z)                   
    fmt.Println(a1, b1, c1, d1, e1)      
}
golang常量定义的简便写法:
const (
    b3 = 88  // 88
    b7    // 88
    b6    // 88
)

 

标签:const,fmt,golang,88,使用,100,iota
From: https://www.cnblogs.com/beatleC/p/17435708.html

相关文章

  • 使用 OpenCV 进行轮廓检测 (Python/C++)第一部分
    什么是轮廓当我们连接一个对象边界上的所有点时,我们得到一个轮廓。通常,特定轮廓是指具有相同颜色和强度的边界像素。OpenCV使得在图像中查找和绘制轮廓变得非常容易。它提供了两个简单的功能:findContours()drawContours()此外,它有两种不同的轮廓检测算法:CHAIN_APPROX_SIMPLECHAIN_......
  • 打包exe文件,使用工具 rar老牌压缩工具,你没看错
    废话不多说,看完点个赞整理好所有的问题,放入一个文件夹右键文件夹,添加到压缩文件如图勾选,创建自解压格式压缩文件找到上面标签高级,点击,然后再点自解压选项选择高级,添加快捷方式看一下刚刚准备好的文件夹wbc666中的文件请对应你的文件夹名字和快捷方式的源文件,我这里......
  • 使用 Rust 开发一个微型游戏
    使用Rust构建微型游戏--用于理解游戏开发一、创建游戏Agenda建立项目实现Gameloop不同的游戏模式添加玩家添加障碍和计分汇总理解Gameloop为了让游戏流畅、顺滑的运行,需要使用GameloopGameloop:初始化窗口、图形和其它资源每当屏幕刷新(通常是每秒30......
  • cypress安装与使用
    官方文档:https://docs.cypress.io/guides/getting-started/installing-cypress结合git代码运行项目1.cd到指定目录路径,gitclone代码下来(eg我的路径是sy_cypress下)//没有的话忽略gitclone这一步2.根目录下cmd,输入命令安装cypress:npm install cypress--save-dev运行安装路......
  • 【笔记】macbook m2 芯片中使用 gcc docker 镜像来交叉编译
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯一个c程序,如何在macbookm2芯片的笔记本上,编译成linuxamd64的二进制格式呢?用gcc的docker镜像轻松的解决了这个问题:#下载gcc镜像,并且是linuxamd64......
  • C#异步编程概念和使用
    异步编程要搞懂3个概念async、Task、await;async修饰符指明方法为异步方法;Task是异步方法返回类型;await是运算符,用来等待异步方法完成;当在异步方法中调用异步方法(理解为启动任务),可以在合适的时机等待任务完成,然后再使用返回的结果,这就是异步编程的优势,可以在一个过程中执行多......
  • 使用minio进行文件存储
    一.Docker拉取镜像(确保自己的服务器已经安装Docker)dockerpullminio/minio二.启动一个miniio容器dockerrun--nameminio-p9090:9000-p9999:9999-d\--restart=always-e\"MINIO_ROOT_USER=minio"\-e"MINIO_ROOT_PASSWORD=minio123"\-v/home/minio/......
  • Ubuntu命令终端查看使用过的命令
    使用history命令cyf@ubuntu:~$history但是这样会显示出所有使用过的命令,可以在history后加上lesscyf@ubuntu:~$history|less会显示出类似vim编辑器的形式,再使用类vim中的操作,查找使用过的命令:/sed//查找使用过的sed相关的命令也可以直接使用grep进行过滤cyf@ubuntu......
  • 使用 PostMessage 函数来发送带有 std::vector 作为参数的消息
    使用PostMessage函数来发送带有std::vector作为参数的消息,您可以将std::vector的地址封装进LPARAM类型的指针中,并将其传递给PostMessage函数的lParam参数。在接收方,您需要使用reinterpret_cast将LPARAM转换回std::vector的指针,然后使用它来访问std::vector。下......
  • 使用卷积神经网络实现影评数据的分类
    一、实验目的熟悉循环神经网络在文本分析和分类上的应用 二、实验原理或实验内容从keras的数据集中加载影评数据,注意需要填充(截断)数据,并转成数组的形式。构建一个神经网络模型,要求使用词嵌入和循环层,并使用划分好的训练集数据训练模型,使用划分好的测试集的数据验证模型,训练......