1. ホーム
  2. go

エラー "パッケージをロードできません: パッケージ my_prog: パッケージ my_prog と main が見つかりました。"

2023-11-02 15:29:54

質問

私のGOPATHには、次のようなものがあります。

/bin/
/pkg/
/src/
/src/my_prog/
/src/my_prog/main.go
/src/my_prog/d_interface.go
/src/my_prog/d_struct_that_implements_the_interface.go

main.gopackage main である。 d_interface.god_struct_that_implements_the_interface.go があるのですが package my_prog .

を実行しようとすると go build my_prog というエラーが出ます。

can't load package: package my_prog: found packages my_prog (d_interface.go) and main (main.go) in C:\dev\Code\Go\src\my_prog

に属しているファイルはすべて package main に属するファイルは、それ自身のフォルダーに入るべきだということでしょうか?もしそうなら、その理由は何ですか?

どのように解決するのですか?

はい、各パッケージは独自のディレクトリに定義する必要があります。

ソースの構成は Goコードの書き方 .

パッケージとは、複数のプログラムで使用することができ、公開したり、インポートしたり、URLから取得したりすることができるコンポーネントです。ですから、プログラムがディレクトリを持つことができるのと同様に、パッケージが独自のディレクトリを持つことは理にかなっています。