Golang 1.18 及 1.18.1 中 iota 不从 0 开始

一句话读完版 golang 源码中使用了 iota 定义枚举量,并且没有显式声明起始值的话,请确保没有使用 golang 1.18 或者 golang 1.18.1。 详细说明版 背景 昨天在线上系统中发现了一个奇怪的现象,代码中有一行 response.Code == konst.SuccessCode 代码的判断结果总是 false,经过日志核查,确认 response.Code...

golang 1.18或1.18.1定义枚举量时可能会出现iota值错误的问题,解决方案是升级到1.18.2版本或显式声明起始值为0。

原文中文,约900字,阅读约需2分钟。发表于:
阅读原文