Go を使用する場合、確立された規則に従うことが重要です。ただし、これらの規則を効果的に実装するには、これらの規則を理解することが最も重要です。この記事では、Go のパッケージ構造に関するよくある質問に取り組みます。
セットアップ: 推奨されるプロジェクト構造に従って、 have:
$GOPATH/ src/ github.com/ username/ projectname/ main.go numbers/ rational.go real.go complex.go
main.go:
package main import ( "fmt" "./numbers" ) func main() { fmt.Println(numbers.Real{2.0}) }
質問:
1. package.go ファイル
すべてのパッケージ ディレクトリに package.go ファイルが必要であるという前提は間違っています。 Go では、単一ディレクトリ内のファイルは自動的にパッケージにグループ化されます。 package.go ファイルの作成は不要です。
2.パッケージ内のファイルのインポート
Go はファイルのインポートをサポートしていません。パッケージ番号は、rational.go、real.go、complex.go などの個別のファイルではなく、直接インポートする必要があります。この例では、./ 接頭辞を削除し、import "github.com/username/projectname/numbers".
3 を使用します。型の共有
Real のような型は、real.go などのパッケージ内のファイルで定義する必要があります。ファイルは同じパッケージに属しているため、追加の import ステートメントは必要ありません。 main.go の実数型に fmt.Println(numbers.Real{2.0}) としてアクセスするのは正しいです。
以上がGo パッケージ構造: 「package.go」ファイルは必要ですか、内部ファイルをインポートする方法、およびファイル間の型にアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。