技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

golang での変数再代入

golang の勉強をしていて、以下の情報を見つけた。

1 つの err 値を使いまわすことができます。特に,長い if-else があるときに頻繁に使用されます。

Go の良い書き方 - Go 言語

 

一般的に、変数の使い回しは、変数のスコープが広くなるので推奨されていないと思うのだが、golang ではそうではないようだ。

まあ、確かに、もしこの書き方がアンチパターンとされてしまうと、エラーを戻り値で判定する golang においては、err 用の変数を複数 (err1, err2, err3, ...) のように用意しないといけなくなるケースが出てくるので、妥当な方針だろうか。