いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Goメモ-375 (golang.org/x/tools/cmd/deadcodeを使ってデッドコードを調べる)

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。忘れないうちにメモメモ。。。

Go本家ブログに以下の記事がアップされていました。

go.dev

デッドコードを調べてくれるツールみたいですね。これは助かる。

試してみた

ブログ記事に書いてあるとおりにインストール。

$  go install golang.org/x/tools/cmd/deadcode@latest

試しに自分のリポジトリに対して使ってみました。

gitpod /workspace/try-golang (main) $ deadcode .
examples/basic/interfaces/command/command.go:56:27: unreachable func: ListFileCommand.Version
examples/basic/runtimes/memorystats.go:135:6: unreachable func: toMb
examples/basic/variables/loopiterator/passing_a_loop_variable_to_goroutine_by_pointer.go:20:6: unreachable func: PassingLoopVariableToGoroutineByPointer
examples/basic/variables/loopiterator/passing_a_loop_variable_to_goroutine_by_pointer.go:43:6: unreachable func: badpattern
examples/basic/variables/loopiterator/passing_a_loop_variable_to_goroutine_by_pointer.go:66:6: unreachable func: goodpattern

誰も呼んでない関数たちがちゃんとピックアップされてきました。素晴らしい。 (作った本人も、この結果を確認して「あ、本当だ・・」って気づきました)

定期的に流すようにしておこう。。

参考情報

Goのおすすめ書籍

上の書籍の日本語版が下です。


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。