Go モジュールを使用して Go プロジェクトをサブフォルダーで整理するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-17 09:19:03
オリジナル
499 人が閲覧しました

How Can I Organize My Go Projects with Subfolders Using Go Modules?

Go モジュールを使用したサブフォルダーで Go プロジェクトを整理する

プロジェクトのセットアップで、user.go ファイルを main.go ファイルにインポートするときにエラーが発生します。これは、ユーザー タイプがメイン パッケージで定義されていないために発生します。

この問題を解決し、プロジェクトをサブフォルダーに効果的に整理するには、Go モジュールを活用することをお勧めします。この機能は Go v1.11.1 で導入され、ネームスペースやサブディレクトリと同様のプロジェクト編成を可能にします。

Go モジュールを使用してサブフォルダー構造を作成する

  1. Go モジュールを有効にする: Go モジュールをアクティブ化するには、環境変数 GO111MODULE=on を設定します。
  2. go.mod ファイルを作成します: このファイルは、プロジェクト ディレクトリのルートに存在します。プロジェクトのモジュール名を宣言し、空の import ステートメントが含まれています。
  3. ファイルをサブフォルダーに整理する: src ディレクトリ内で、ファイルをサブフォルダーに整理します。たとえば、user.go ファイルは src/models フォルダーに存在します。
  4. モジュール パスを使用してパッケージをインポートします: main.go ファイルで、モジュール パス形式を使用してパッケージをインポートします。これは名前空間に似ています。 user.go ファイルの場合、my-module/src/models/user としてインポートします。

次のプロジェクト構造を考えてみましょう:

├── main.go
└── src
    └── models
        └── user.go
└── go.mod
ログイン後にコピー

main.go

package main

import "my-module/src/models/user"

func main() {
    fmt.Println(user.User{"new_user"})
}
ログイン後にコピー

user.go

package user

type User struct {
    Login string
}
ログイン後にコピー

go.mod

module my-module
ログイン後にコピー

Go モジュールを利用すると、名前空間のような構造を反映して、プロジェクトをサブフォルダーに整理できます。パッケージはモジュール パスを使用してインポートできるため、コードベースがクリーンで効率的に編成されます。

以上がGo モジュールを使用して Go プロジェクトをサブフォルダーで整理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート