ホームページ > バックエンド開発 > Golang > Go言語でパッケージをカスタマイズする方法

Go言語でパッケージをカスタマイズする方法

リリース: 2020-06-19 17:51:14
転載
3708 人が閲覧しました

Go言語でパッケージをカスタマイズする方法

#パッケージは関数とデータのコレクションです。パッケージを定義するには、package キーワードを使用します。

は主に Go ソース コードを整理するために使用され、再利用性と読みやすさが向上します。パッケージはコードのカプセル化を提供するため、Go アプリケーションの保守が容易になります。

以下のカスタム パッケージのインスタンスを作成します

パッケージを保存するディレクトリ pac を作成します

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
ログイン後にコピー
ログイン後にコピー

出力結果: pac2

summary

1 プロジェクト ディレクトリが 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 サイトの他の関連記事を参照してください。

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