iota 識別子が const 宣言に存在している場合に switch ステートメントにある未処理の値を報告します。 このような値を処理するには、case または default 節の使用を検討してください。
Go の iota キーワードは、const ブロックに連続する整数を作成します。 Go コンパイラーはすべての iota 値の処理を必要としませんが、一部の値を処理しないとバグを引き起こす可能性があります。
iota の詳細は、go.dev の「Iota」を参照してください。
例:
const (
a = iota
b
c = -5
)
func main() {
v := 5
switch v {
case a:
break;
case b:
break;
}
}
c は switch ステートメントで処理されないため、IDE によってインスペクションがトリガーされます。 iota を使用しない場合でも、c が同じ const ブロックにあることに注意してください。
クイックフィックスのオプションには「Create 'case' clause for values (値の 'case' 節を作成)」と「Create 'default' clause ('default' 節の作成)」があります。 「Create 'default' clause ('default' 節の作成)」クイックフィックスが適用されると、以下のようになります。
const (
a = iota
b
c
)
func main() {
v := 5
switch v {
case a:
break;
default:
}
}