1. ホーム
  2. import

[解決済み] カスタムパッケージの使用方法

2022-04-20 03:51:29

質問

Goでカスタムパッケージを作成し、使用しようとしています。おそらく非常に明白なことなのでしょうが、これに関する情報があまり見つかりません。基本的に、私は同じフォルダーにこれらの2つのファイルを持っています。

mylib.go

package mylib

type SomeType struct {

}

main.go

package main

import (
    "mylib"
)

func main() {

}

を試したところ go run main.go このようなエラーが発生します。

main.go:4:2: import "mylib": cannot find package

を実行してみました。 go build mylib.go が、何もしていないようです(ファイルが生成されない、エラーメッセージが出ない)。どうすればいいのでしょうか?

解決方法は?

を必ずお読みいただき、ご理解ください。 Goコードの書き方" のドキュメントをご覧ください。

実際の答えは、あなたの"カスタムパッケージ"の性質に依存します。

一般的な使用を目的とするのであれば、いわゆる Githubコードレイアウト" . 基本的に、あなたのライブラリは別の go get -テーブル・プロジェクトです。

社内用のライブラリであれば、次のようになります。

  1. プロジェクトのディレクトリの下に、ライブラリファイルのあるディレクトリを配置します。
  2. プロジェクトの他の部分では、プロジェクトを含むワークスペースのルートからの相対パスを使用して、ライブラリを参照します。

デモを行うには

src/
  myproject/
    mylib/
      mylib.go
      ...
    main.go

さて、トップレベルの main.go を使用することができます。 import "myproject/mylib" で、問題なく動作します。