概要
var hoge *Hoge
— chidakiyo (@chidakiyo) 2020年2月26日
if condition != nil {
hoge, err := https://t.co/3dOQ15DCmc(ctx, hoge_key)
if err != nil {
return nil, err
}
fmt.Printf("%v", *hoge)
} else {
hoge = nil
}
こんな感じのコードで死んでたんですが、うっかりhogeがnil担っちゃうの防ぐにはどうしたら・・・(文字数
上記のページで、shadowコマンドで検知するやり方が書いてありました。知らなかった。。
私はGoLand使ってコード書いているのですが、GoLandで変数のシャドウイングを検知するようにするには
以下で出来ます。
Ctrl+Shift+AでActions表示して "shadow" って入力
以下のように出るはずです。
一番上に出てきている Probable bugs: Shadowing variable
をONにします。
ONにすると、上記のページで問題となっているシャドウイングされている変数 hoge の部分に波線がつきます。
で、以下のようにインスペクトが出ます。
この設定、もともとOFFなのかONだったのか忘れてしまいました。。
もしかしたら、最初からONなのかもしれません。
参考
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場