Go语言go mod包简单使用

 基础语法  2021-02-05  admin  1607  2169

go module 是Go语言从 1.11 版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始,go module 成为了Go语言默认的依赖管理工具。

在Go语言 1.12 版本之前,要启用 go module 工具首先要设置环境变量 GO111MODULE,不过在Go语言 1.13 及以后的版本则不再需要设置环境变量。通过 GO111MODULE 可以开启或关闭 go module 工具。

  • GO111MODULE=off 禁用 go module,编译时会从 GOPATH 和 vendor 文件夹中查找包;

  • GO111MODULE=on 启用 go module,编译时会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod下载依赖;

  • GO111MODULE=auto(默认值),当项目在 GOPATH/src 目录之外,并且项目根目录有 go.mod 文件时,开启 go module。

Windows 下开启 GO111MODULE 的命令为:

set GO111MODULE=on 或者 set GO111MODULE=auto

MacOS 或者 Linux 下开启 GO111MODULE 的命令为:

export GO111MODULE=on 或者 export GO111MODULE=auto

常用的go mod命令如下表所示:


命令作用
go mod download下载依赖包到本地(默认为 GOPATH/pkg/mod 目录)
go mod edit编辑 go.mod 文件
go mod graph打印模块依赖图
go mod init初始化当前文件夹,创建 go.mod 文件
go mod tidy增加缺少的包,删除无用的包
go mod vendor将依赖复制到 vendor 目录下
go mod verify校验依赖
go mod why解释为什么需要依赖


使用go mod init初始化生成 go.mod 文件

go mod init appName

go get github.com/garyburd/redigo/redis


go.mod 文件示例

module github.com/gogf/gf-demos

require (
	github.com/gogf/gf v1.14.6-0.20201214132204-c685876e6f67
	github.com/gogf/swagger v1.2.0
	github.com/gorilla/websocket v1.4.2 // indirect
	github.com/grokify/html-strip-tags-go v0.0.0-20200322061010-ea0c1cf2f119 // indirect
	github.com/kr/text v0.2.0 // indirect
	github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
	github.com/olekukonko/tablewriter v0.0.4 // indirect
	golang.org/x/sys v0.0.0-20200610111108-226ff32320da // indirect
	gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
	gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c // indirect
)

go 1.11
module app

go 1.16

require (
	github.com/garyburd/redigo v1.6.2 // indirect
	github.com/nahid/gohttp v0.0.1 // indirect
)
module myapp

require github.com/gogf/gf latest

go 1.11


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

转载必须注明出处:

Go语言go mod包简单使用 —— code.cent123.com

相关推荐


linux 系统最简单的安装 go 开发环境步骤

1. 官网下载放在 /godev 目录https://golang.google.cn/dl/或wget https://dl.google.com/go/go1.22.2.linux-amd64.tar.gz或curl -O https://dl.google.com/go/go1.22.2.linux-386.tar.gz2. 解压tar -xvf go1.22.2.linux-amd64.t

go 生成密码 php的 password_hash go实现

packagemain import( "fmt" "golang.org/x/crypto/bcrypt" ) funcmain(){ hashedPassword:=passwordHash("123456") fmt.Println(hashedPassword) hashedPassword=

使用 govcl 开发桌面UI 在 Lazarus IDE 编译中报错

使用 govcl 开发桌面UI 在 Lazarus IDE 编译中报错go build -i -buildmode=exe -ldflags="-H windowsgui" -tags="tempdll" -o "project1.exe"flag provided but not defined: -iusage: go build [

go 实现php的 password_hash() 密码加密方法

go 实现php的 password_hash() 密码加密方法