iota 标识符出现在 const 声明中时,报告 switch 语句中的未处理值。 要处理这些值,请考虑使用 casedefault 子句。

Go 中的 iota 关键字会在 const 块中创建一个整数序列。 虽然 Go 编译器不需要处理所有 iota 值,但缺少其中一些值可能表示存在 bug。

有关 iota 的详细信息,请参阅 go.dev 上的 Iota

示例:

const (
  a = iota
  b
  c = -5
)

func main() {
  v := 5
  switch v {
  case a:
    break;
  case b:
    break;
  }
}

IDE 会触发检查,因为 c 未由 switch 语句处理。 请注意,c 位于相同的 const 块中,即使它不使用 iota

快速修复选项是为值创建 'case' 子句创建 'default' 子句。 应用创建 'default' 子句快速修复后:

const (
  a = iota
  b
  c
)

func main() {
  v := 5
  switch v {
  case a:
    break;
  default:
  }
}