模式1

goroot:go的安装路径

gopath:允许多个目录,windows是用分号;gopath下面有三个目录,分别是bin,pkg和src

bin编译后生成的可执行文件
pkg

编译时生成的中间文件(比如:.a)

mod:具体的包

src源码文件

go_project     // go_project为GOPATH目录
  -- bin
     -- myApp1  // 编译生成
     -- myApp2  // 编译生成
     -- myApp3  // 编译生成
  -- pkg
  -- src
     -- myApp1     // project1
        -- models
        -- controllers
        -- others
        -- main.go 
     -- myApp2     // project2
        -- models
        -- controllers
        -- others
        -- main.go 
     -- myApp3     // project3
        -- models
        -- controllers
        -- others
        -- main.go

模式二

go env -w GO111MODULE=on

go mod init:初始化

go mod tidy: 拉包

go mod vendor:导出项目所有依赖到vendor下

go mod graph:打印项目模块依赖结构

go mod initgo mod tidygo mod vendorgo mod downloadgo mod verifygo mod graphgo mod why

例如,如果你想在你的项目中使用gin框架,可以使用以下命令将其添加为依赖项

go get -u github.com/gin-gonic/gin 

该命令会将gin框架下载到你的$GOPATH/pkg/mod目录中,并将其添加到go.mod文件中。

 

go.sum 文件列出依赖包的源码的 SHA-256 哈希值,主要用于验证从 GOPROXY 镜像站点上下载下来的代码有没有被做篡改,保证安全。
所以 GOSUMDB 没有镜像站点,鉴于国内网络只能关闭该检查功能,即 GOSUMDB="off



GOPROXY=https://mirrors.aliyun.com/goproxy,https://goproxy.io,https://goproxy.cn,direct