- すべての依存関係を自動的にダウンロードします
go get -d -v ./...
-d
ただ、コードパッケージをダウンロードしインストールコマンドを実行しないでください-v
詳細なログとデバッグログを出力します。このフラグは、ここでは、各ダウンロードしたパッケージを追加します印刷されます。./...
これは、現在のディレクトリ内のすべてのファイルを代表して、パスを表します。
モジュール
-
よるgo.modマニュアルパッケージの依存関係、go.sum悪意のある変更からファイル
-
プロジェクトはGOPATHパスの下に整理する必要はありません。
- インポートソースコードパッケージは、もはやsrcディレクトリの下にはなく、PKG / MODディレクトリの下に編成されていません
- 背後にそのディレクトリ内のパッケージ名があります
@<tag_num>
ので、go mod
あなたは、異なるバージョンを区別することができます- 例えば
$GOPATH\pkg\mod\github.com\go-sql-driver\[email protected]
- バージョン番号は、レポタグです
- タグのためにプレーしませんでした、go.modフォーマットは、疑似バージョンです。その意味は、
v0.0.0-yyyymmddhhmmss-abcdefabcdef
- 例えば
-
ただgovendorからgomodへの移行
go mod init 模块名
後、go run/build
一度 -
置き換えパケットアドレスをリダイレクトします
- ドメインの下にGoogleのパッケージは、GitHubのにリダイレクトすることができます
-
環境変数は
GO111MODULE
必須使用MODモードに設定され、開口部は、外側パスオートGOPATH上に設けられています -
モジュール名をとることができますが、より多くの互換性のために、従うべき
github.com/name/repo
フォーマットを
共通コマンド
go mod init <模块名> # 初始化模块
go mod download # 下载依赖包
go mod tidy # 移除未用到的包,下载缺失的包
go mod verity # 验证包依赖是否正确
go mod vendor # 生成vendor目录
参照
モジュール- GitHubの
モジュールはじめにgolangパッケージ変更
ベンダー
- すべての依存情報のベンダーのディレクトリレコードでvendor.jsonファイル
- GitHubのにプロジェクトをアップロードするときに、あなただけのアップロードすることができvendor.jsonによって、他の人がすることができ、ファイルを同期がgovendorベンダーのフォルダに応じてファイルを再インストールするコマンドを頼ります
# 安装govendor
go get -u -v github.com/kardianos/govendor
# 常用命令
govendor init # 初始化vendor目录
govendor list # 列出当前所有包依赖
govendor add package_path # 添加依赖包
govendor add +e # 添加所有为什么GOPATH路径下的依赖包
govendor fetch packge_path #添加远程依赖包
govendor update packge_path #更新依赖包
govendor remove packge_path #删除依赖包
govendor sync #根据vendor.json安装依赖包
参照
https://blog.csdn.net/dupeng0811/article/details/89877712
インポート
- 私たちは、サードパーティのパッケージをインポートすると、(pkgディレクトリの下に)コンパイル済みのパッケージオブジェクトを見つけるためのコンパイラは、ないパッケージオブジェクト場合は、コンパイルに対応するソースコードを見つけるために、ソースディレクトリに移動します
- 我々ときに他の項目が含まれて導入
internal
依存パッケージを、ゴー言語はコンパイル時に文句を言うだろう-
同じプロジェクトで、プロジェクトの内部パッケージの導入と、このエラーは発生しません場合、このエラーは、のみ発生します、現在のプロジェクトツリーに導入された内部パッケージに存在しません。
-
初期化
- 初期化機能はします、main関数の前に実行されます
- 使用する必要がある
_
パケットをインポートするには、ヌルオブジェクト識別子は、バッグの機能を実行するためにあるのinit - 私たちは、initで重い初期化ロジックを行っているべきではありませんが、いくつかの簡単な操作を行うために、軽量の前提条件判断