Go 言語のパッケージは、ディレクトリ ツリーの編成形式を使用します. 一般に、パッケージの名前は、そのソース ファイルが配置されているディレクトリの名前です.パッケージ名とディレクトリ名を同じ名前にすることをお勧めします。これにより、構造がより明確になります。
パッケージは非常に深いディレクトリで定義でき、パッケージ名の定義にはディレクトリ パスは含まれませんが、パッケージは通常、参照時にフル パス参照を使用します。たとえば、パッケージ c GOPATH/src/a/b/
below。package c
パッケージ c のソース コードでは、 as を宣言する代わりに as を宣言するだけで済みますpackage a/b/c
が、c パッケージをインポートするときは、パスを持ってくる必要がありますimport "a/b/c"
。
パッケージのイディオム:
- パッケージ名は通常小文字で、短く意味のある名前を使用します。
- 通常、パッケージ名は、それが配置されているディレクトリと同じである必要があります。または、異なる場合もあり、などの特殊記号をパッケージ名に含めることはできません
-
。 - パッケージは通常、ディレクトリ名としてドメイン名を使用します, これにより、パッケージ名の一意性が保証されます. たとえば、GitHub プロジェクトのパッケージは通常、ディレクトリに配置されます
GOPATH/src/github.com/userName/projectName
. - main という名前のパッケージは、アプリケーションのエントリー パッケージであり、main パッケージを含まないソース コード ファイルをコンパイルすると、実行ファイルは取得されません。
- フォルダー内のすべてのソース コード ファイルは同じパッケージにのみ属することができ、同じパッケージに属するソース コード ファイルを複数のフォルダーに配置することはできません。
パッケージのインポート
カスタムまたはサードパーティのパッケージをインポートするには、import キーワードを使用します。
import "包路径" //包路径是相对于 GOPATH
パッケージのインポートは 2 つの方法で記述できます。
単線注ぎ
import "包A的路径"
import "包B的路径"
マルチライン インポート
import (
"包A的路径"
"包B的路径"
)
パッケージ参照形式
1)、標準引用フォーマット
import "fmt"
このようにして、パッケージ内のメソッドfmt.
を参照できます。fmt
package main
import "fmt"
func main() {
fmt.Println("Welcome to https://qiucode.cn")
}
2)、別名参照形式
パッケージをインポートするとき、インポートしたパッケージにエイリアスを与えることができます。
import f "fmt"
3)、参照形式を省略
パッケージ メソッドにアクセスするには、.
省略して使用します。包名.
import . "fmt"
4)、匿名参照形式
前述のように、変数を無視するために使用できます_
. パッケージをインポートするときに使用すると、パッケージのみが実行されますinit()
.
import (
"fmt"
_ "time"
)