mkdir -p $GOPATH/src/test/pac cd $GOPATH/src/test/pac新しいファイル pac.go
package pac import "fmt" func Printstr(x string) { fmt.Println(x + " is pac") }Thisメンテナンスを容易にするため、パッケージ名とディレクトリ名を一致させます。 新しいdemo.goを作成して、カスタマイズしたパッケージを呼び出します。 $GOPATH/src/testディレクトリに作成します。
package main import "pac" func main() { pac.Printstr("this") }実行します。
go run demo.go出力これは pac 、成功の証明です。上記の例では、インポートされたファイル demo.go とパッケージ ファイル pac.go は同じディレクトリになく、同じパッケージに属していません。では、同じパッケージに属し、同じディレクトリにある 2 つのファイルにアクセスするにはどうすればよいでしょうか? 以下の例を参照してください。 pac2.goを作成します$GOPATH/src/test/pacディレクトリで
package pac import "fmt" func printstr2 (x string) { fmt.Println(x + " is pac2") }pac.goを変更し、pac.goがpac2.goを呼び出すようにします
package pac func Printstr(x string) { //fmt.Println(x + " is pac") printstr2(x) }Run demo.go
go run demo.go出力結果: pac2summary1 プロジェクト ディレクトリが GOPATH 環境で設定されたパスにない場合変数を使用するには、プロジェクトを GOPATH パスに移動するか、GOPATH にプロジェクト パスを設定する必要があります。そうでない場合は、次のようにレポートされます:
demo.go:3:8: cannot find package "pac" in any of: /usr/lib/golang/src/pac (from $GOROOT) /home/go/src/pac (from $GOPATH)2. import ステートメントではフォルダーの名前が使用されます。 3. パッケージファイル内の関数名の最初の文字は、外部から呼び出せるように大文字になっています。同じパッケージ内のすべてのファイルが相互にアクセスする場合、関数名の最初の文字が大文字か小文字かは関係ありません。 4. メイン パッケージは、同じディレクトリまたはメイン パッケージ内の他のファイルにアクセスできません。 5. フォルダー名とパッケージ名は必ずしも同じである必要はありません。メンテナンスを容易にするために、一貫性を持たせることをお勧めします。 6. カスタム パッケージを呼び出すには、上記の例のようにパッケージ名と関数名を使用します:
pac.Printstr("this")さらに関連する知識については、
go 言語に注意してください。チュートリアル列
以上がGo言語でパッケージをカスタマイズする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。