go从0到1项目实战体系十:go包管理
2023-12-23 06:05:43
go mod是Go官?引?的?个依赖管理?具.
1. 引入一个本地包:
(1). 设置环境变量引入go module:
$ set GO111MODULE=on
$ go mod init topic.com.cn(模块名)
(2). 文件目录:
topic.com
└─topic
├─core # 本地包在项目中
│ └─tools.go
├─main.go
└─go.mod
(3). topic.com/topic/main.go:
package main
import (
"topic.com.cn/core" # 这个并不是目录名字topic.com,而是上面设置的模块名
)
func main() {
core.ShowName()
}
(4). topic.com/topic/go.mod:
module topic.com
go 1.12
(5). topic.com/topic/core/tools.go:
package core
import "fmt"
func ShowName() {
fmt.Println("david")
}
1.1 包任意位置的引用方式:
(1). 文件目录:
topic.com
├─topic
│ ├─main.go
│ └─go.mod
└─core
├─tools.go
└─go.mod
(2). topic.com/topic/main.go:
package main
import (
"core"
)
func main() {
core.ShowName()
}
(4). topic.com/topic/go.mod:
module topic.com
require core v0.0.0 # 包名 版本
replace core v0.0.0 => ../core # 包的引用
go 1.12
(5). topic.com/core/tools.go:
package core
import "fmt"
func ShowName() {
fmt.Println("david")
}
(6). topic.com/core/go.mod:
module core
go 1.12
2. 引入第三方包(sql-driver为例):
(1). 在topic.com/topic目录下执行:
$ go get github.com/go-sql-driver/mysql@master
go: finding github.com/go-sql-driver/mysql master
go: downloading github.com/go-sql-driver/mysql v1.4.1-0.20191022112324-6ea7374bc1b0
go: extracting github.com/go-sql-driver/mysql v1.4.1-0.20191022112324-6ea7374bc1b0
注:
如果需要指定版本则mysql@v1.4.1
(2). topic.com/topic/go.mod:
module topic.com.cn
require (
core v0.0.0
// 新引入的第三方包
github.com/go-sql-driver/mysql v1.4.1-0.20191022112324-6ea7374bc1b0 // indirect
)
replace core v0.0.0 => ../core
go 1.12
(3). 下载的文件位置:
$GOPATH\pkg\mod\github.com\go-sql-driver\mysql@v1.4.1-0.20191022112324-6ea7374bc1b0
文章来源:https://blog.csdn.net/m0_68635815/article/details/135146303
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!