Goのunreachableなコードを検出するlinterはunusedの方が賢い
deadcode超解剖のスライドによると、deadcode には偽陽性がある。具体的には、他のパッケージで特定のinterfaceを実装されないようにプライベートなメソッドを追加することがあるけれど、これが「未使用なコード」として検出されてしまう。
unused なら少なくとも上記の誤検知は起きないので、一般的にはこちらを使うといい。golangci-lint にも採用されているので使い勝手はいいと思う。
deadcode超解剖のスライドによると、deadcode には偽陽性がある。具体的には、他のパッケージで特定のinterfaceを実装されないようにプライベートなメソッドを追加することがあるけれど、これが「未使用なコード」として検出されてしまう。
unused なら少なくとも上記の誤検知は起きないので、一般的にはこちらを使うといい。golangci-lint にも採用されているので使い勝手はいいと思う。