go module本地包导入
2023-12-30 23:58:14
go module本地包导入
golang 1.11
之后加入了go mod
来替代GOPATH
官方文档参考:https://golang.google.cn/doc/tutorial/call-module-code
启用go mod
-
开启 Go modules
# 临时开启 Go modules 功能 export GO111MODULE=on ![请添加图片描述](https://img-blog.csdnimg.cn/direct/3cda800aae2041f98bef026bc274dba3.jpeg) # 永久开启 Go modules 功能 go env -w GO111MODULE=on # 设置 Go 的国内代理,方便下载第三方包 go env -w GOPROXY=https://goproxy.cn,direct
-
通过 go env
go env
主项目工作目录
-
创建一个工作目录
mkdir myapp
-
新建mod文件
cd myapp go mod init myapp
-
添加函数main.go
package main import ( "fmt" ) func main(){ fmt.Println("This is main") }
-
运行
go run main.go
本地module目录
-
切换目录,新建自己的包
cd .. mkdir mypkg go mod init mypkg
-
包内新建hello.go文件
package mypkg import "fmt" func SayHello()string{ fmt.Println("hello,(print in mypkg)") return "success" }
发布和使用模块
当 main.go
尝试导入 mydemo.com/mypkg
模块时,Go
工具链会从本地的 ../mypkg
目录加载模块,而不是尝试从远程位置下载
-
指定包的本地路径
go mod edit -replace mydemo.com/mypkg=../mypkg
-
在main.go添加自己的包
package main import ( "fmt" my "mydemo.com/mypkg" ) func main(){ fmt.Println("This is main") flag :=my.SayHello(); fmt.Println(flag) }
-
更新和同步
go mod tidy
-
查看
go mod
,已经自动更新
-
运行
go run main.go
-
整体目录结构
└── twogo ├── myapp │ ├── go.mod │ └── main.go └── mypkg ├── go.mod └── hello.go
-
整体流程
文章来源:https://blog.csdn.net/qq_23858785/article/details/135309995
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!