golangで「imported and not used」というエラーが出たときの原因と対処法
今回はgolangで「imported and not used」というエラーが出たときの原因と解決策について紹介していきます。
golangで「imported and not used」というエラーが出た
golangで開発を行っていると「redeclared in this block」というエラーに遭遇します。
「imported and not used」はインポートしたパッケージがファイル内のどこにも使用されていない場合に発生するエラーです。
「imported and not used」の原因
例えば、以下のコードのようにfmtパッケージをインポートはしていますが、実際に使っている出力関数はprintln()で、どこにもfmtパッケージは使用されていません。
import (
"fmt"
)
func main() {
a := 1
println(a)
}
この状態でコンパイルを行うと、以下のようにエラーが発生します。
main.go:4:2: "fmt" imported and not used
「imported and not used」の対処法
このエラーを解消するにはインポートしたパッケージを使用するか、使用しないのならimportから削除しましょう。
import (
"fmt"
)
func main() {
a := 1
fmt.Println(a)
}
func main() {
a := 1
println(a)
}
今回の場合はどちらの場合も実行結果は1が出力されます。
importを消すちょっとしたコツ
インポートを削除してしまうと、後になってやはり使うとなった場合に復活させるのは少し面倒です。
そんなときは以下のようにimport部をコメントアウトする方法があります。コメントアウトをすることでimport部は読み込まれなくなるので、「imported and not used」エラーは発生しなくなります。
import (
// "fmt"
)
func main() {
a := 1
println(a)
}
他にもパッケージの前にアンダースコア(_)を書くことでパッケージが無効化することができます。
import (
_ "fmt"
)
func main() {
a := 1
println(a)
}
どちらでも結果は変わりませんが、コメントアウトしたほうがimport自体行われないのでいい気がします。
golangの案件を探すならクラウドワークス テック
golangをもっと詳しくなりたい方に
初めてのGo言語
Go言語の入門から応用まではこの一冊で網羅されています。説明も順序立てて説明されており完成度の高い参考書となっています。
詳解Go言語Webアプリケーション開発
こちらはGo言語の基礎知識を得たあとに読むことをすすめる本となっています。ハンズオン形式で手を動かしながら実装をしていくことができるため、実際の開発を意識しながらGo言語を学ぶことができます。
以下の記事では他にも筆者が実際に読んでおすすめしたい本をまとめています。
【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語)
まだGo言語の勉強を始めていない方、全くの初心者の方にはこちらのUdemy教材が最もおすすめです。
この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。
以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?