ゴーモジュール上のコンテンツの一部

インストール

構成環境

ゴーモジュールを有効にします

go modではGo >= 1.13のみで、デフォルトで有効になってGo >= 1.11サポートするために始めていますgo mod

環境変数の設定

# 启用go module
export GO111MODULE=on

# 设置GOPATH,开启go mod之后,这个目录主要用来存放依赖包
export GOPATH=~/go_modules

# 设置go代理,在运行go test/build等时会自动下载依赖
# 使用go get下载依赖需要在GOPATH中执行才会使用代理
export GOPROXY=https://goproxy.io

MOD使用を行きます

$GOPATH/srcディレクトリを作成する以外の任意のディレクトリ、

mkdir -p /home/gopher/project
cd /home/gopher/project

このディレクトリは、ディレクトリ管理内のmodファイルを作成し、プロジェクトのルートディレクトリです

go mod init project

あなたはgithubの上でこのプロジェクトを置く場合は、ファイルを作成するとき、あなたはあなたのgithubのプロジェクトのために、プロジェクト名を書くことができます

go mod init github.com/YourName/project

go.mod初期の内容はcat go.mod次のとおりです。

module project

go 1.12

go.modあなただけがプロジェクトのルートディレクトリにプロジェクトで、一度作成する必要がありGo、自動的にすべての現在のディレクトリを見つける父级目录あなたが見つけるまでgo.mod

パッケージ定義とパッケージカスタムに導入

  • 唯一の定義されたパッケージによってディレクトリ

    比如在project项目中有了一个hello.go的文件,文中定义了package hello,
    这样,当你再在project中创建了一个world.go的文件,其中定义了package world会报错,无法加载package
  • 各パッケージには、ディレクトリに、定義されています。パッケージで定義された同じディレクトリ名とパッケージ名をお勧めします。

    project
    ├── go.mod
    ├── hello
    │   ├── hello.go
    │   └── hello1.go
    ├── main.go
    └── world
        ├── world.go
        └── world1.go
    
    其中hello目录中所有文件的包定义均为package hello,hello目录中所有文件的包定义均为package world

MOD管理を行きます

  • 新しいモジュールを作成します。

    # 创建了一个新的模块,初始化 `go.mod` 文件并且生成相应的描述
    go mod init
  • 依存関係を追加

    # build,test和其它构建代码包的命令,会在需要的时候在go.mod文件中添加新的依赖项
    # 最好不要自己修改go.mod文件,因为在Go在向go.mod中添加依赖项的时候
    # 同时会向go.sum中的hash对比,确定依赖是否修改。
    go build
    go test
  • 現在のすべての依存関係を見ます

    # 列出了当前模块所有的依赖项
    go list -m all
  • 指定した依存関係のバージョンを変更します(または新しい依存関係を追加)

    # 修改或添加
    # go get -u 会更新依赖
    # 获取指定版本的形式 go get rsc.io/[email protected]
    go get
  • 未使用の依存関係を削除します

    go mod tidy

おすすめ

転載: www.cnblogs.com/zzhaolei/p/11206489.html