GO言語のビルド時に"imported and not used"を出力させない方法
GO言語をビルドするときに、使っていないパッケージや変数があると「使ってませんよ!」と怒られる。まぁその怒られる内容に行数書いてあるからコメントアウトして対応すればいいのだけど、たくさんあったりするとめんどくさい。そこでコメントアウトする以外の解決策を紹介する。
package main import ( "fmt" "os" ) func main() { s := "Happy Programming" println("Hello World") }
fmtとosは使っていないので、下記の内容で怒られる。
$ go build main.go # command-line-arguments .\main.go:4: imported and not used: "fmt" .\main.go:5: imported and not used: "os"
そこでこんな記述をソースにする。
package main import ( "fmt" "os" ) func main() { s := "Happy Programming" println("Hello World") // ビルドエラー回避 var _ = fmt.Print var _ = os.Args }
これでパッケージに関しては"imported and not used"で怒られなくなる。しかし、こんどは変数sを使っていないためまた怒られる。
$ go build main.go # command-line-arguments .\main.go:9: s declared and not used
変数の場合も同様の対応をとれば怒られなくなる。
package main import ( "fmt" "os" ) func main() { s := "Happy Programming" println("Hello World") // ビルドエラー回避 var _ = fmt.Print var _ = os.Args var _ = s }
【2014/07/04追記】
最近知ったのだが、下記の方法でも怒られなくなる。
package main import ( _ "fmt" _ "os" ) func main() { println("Hello World") // fmtもosも使ってないが怒られない! }