概述
gomod
用来对包进行管理,在Gov1.13
默认开启。
module test
go 1.16
require (
github.com/dgrijalva/jwt-go v3.2.0+incompatible
github.com/go-ini/ini v1.63.2
github.com/gogf/gf v1.16.2
github.com/gogf/guuid v1.0.0
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/uuid v1.1.1
github.com/lib/pq v1.10.0
github.com/nats-io/nats-server/v2 v2.3.4 // indirect
github.com/nats-io/nats.go v1.11.1-0.20210623165838-4b75fc59ae30
google.golang.org/protobuf v1.27.1 // indirect
)
以上是一个mod例子,require中是依赖的管理,使用go mod tidy
一键下载依赖
所下载的依赖,都位于环境变量GOMODCACHE
目录下
可以使用go env
进行查看
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:UsersDELLAppDataLocalgo-build
set GOENV=C:UsersDELLAppDataRoaminggoenv
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=C:UsersDELLgopkgmod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:UsersDELLgo
set GOPRIVATE=
set GOPROXY=https://goproxy.io
set GOROOT=C:Program FilesGo
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:Program FilesGopkgtoolwindows_amd64
set GOVCS=
set GOVERSION=go1.16.2
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:CloudMIDISprivateIotCommtrunkgo.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:UsersDELLAppDataLocalTempgo-build1251387855=/tmp/go-build -gno-record-gcc-switches
此时开始引入本地包的步骤,首先 新增一个依赖
require (
ddis v0.0.0
)
这里的ddis是自定义命名的,取决于想在代码里如何使用该包,当然,也可以在import处进行再命名,注意:ddis包并不是实际存在的,我们无法在上述的环境变量管理依赖的目录下找到该文件,所以版本号使用v0.0.0
即可
重点来了:我们将ddis指向本地包所在的目录,可以是相对路径,也可以是绝对路径
replace (
ddis => D:GoShareLibtrunkddis
)
此处是不需要携带版本号的,完成上述操作之后,我们就可以直接在代码中调用本地包了
import (
"ddis"
)
注意:本地包必须是完整的,包内也必须有自己的go.mod文件,对于import引入包后执行的操作,本文不在赘述,可参考Go初始化顺序
最后
以上就是认真老鼠为你收集整理的使用Go Modules引入本地包的全部内容,希望文章能够帮你解决使用Go Modules引入本地包所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复