Goで簡単な電卓を作ろうとしています。最初にコマンドラインインターフェイスを構築し、GUIインターフェイスで簡単に交換できるように設計しています。プロジェクトの場所は次の$GOPATH/src/gocalcとおりです(以降のすべてのパスはプロジェクトの場所を基準にしています)。コマンドラインインターフェイスロジックはファイルに保存されますgocalc.go。電卓ロジックはファイルcalcfns/calcfns.goとに保存されますoperations/operations.go。メインプログラムを除いて、すべてのファイルのパッケージ名はファイル名(拡張子なし)と同じですgocalc.go。package main
calcfns.gooperations.go経由でインポートimport "gocalc/operations"; 経由でgocalc.goインポートcalcfns.goimport "gocalc/calcfns"
要約する:
$GOPATH/src/gocalc/gocalc.gopackage mainimport "gocalc/calcfns"
calcfns/calcfns.gopackage calcfnsimport "gocalc/operations"
operations/operations.gopackage operations
go build operations(プロジェクトディレクトリから)しようとすると、次の応答が返されます。can't load package: package operations: import "operations": cannot find package
試してみるとgo build gocalc/operations、次のようになります。can't load package: package gocalc/operations: import "gocalc/operations": cannot find package
試してみるとgo build operations/operations.go、正常にコンパイルされます。
go build calcfnsまたはを実行しようとすると、操作の場合と同様のメッセージgo build gocalc/calcfnsが表示されます。can't load package...ただし、ビルドしようとするcalcfns/calcfns.goと、importステートメントでチョークが発生します。import "gocalc/operations": cannot find package
最後に、プロジェクトディレクトリから試してみるとgo build .、前の段落と同じようにチョークします。import "gocalc/calcfns": cannot find package
子パッケージやインポートステートメントをgo build失敗しないように構成するにはどうすればよいですか?
