1. ホーム
  2. go

[解決済み] 複数のファイルからなるGoプログラムをコンパイルするには?

2022-11-16 13:26:43

質問

3つのファイルからなる小さなプログラムを持っていますが、すべて同じパッケージ(main)に属しています。しかし、私が go build main.go を実行すると、ビルドが成功しません。1つのファイルだけだったときは ( main.go ) のときは、すべてうまくいきました。

今、私はコードを分離するためにいくらかの努力をしましたが、コンパイラーは main.go から取り出され、これら 2 つの別のファイル (main.go と同じディレクトリに存在する) に入れられたものを、コンパイラーは見つけることができないようです。その結果 undefined 'type' のエラーになります。

複数のファイルで構成されるこのプログラムをどのようにコンパイルすればよいのでしょうか。

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

新しい方法 ( おすすめ ):

この回答をご覧ください .

古い方法です。

myprogというプログラムを書いているとします。

すべてのファイルをこのようなディレクトリに置きます

myproject/go/src/myprog/xxx.go

次に myproject/go をGOPATHに追加します。

そして実行

go install myprog

こうすることで、必要であればmyproject/go/srcに他のパッケージやプログラムを追加することができるようになります。

参照: http://golang.org/doc/code.html

(このドキュメントは常に新規参入者に見逃され、しばしば最初は理解されません。Go チームが最も注意を払うべきものです (IMO)。