在小型网站建设小组中答案,免费推广软件平台seo博客,合肥网页设计哪家服务好,手机版企页网站案例文章目录1. 简介示例1. 示例——同一项目2. 示例——不同项目3. 示例——添加远程模块依赖库1. 简介
go module是Go1.11版本之后官方推出的版本管理工具#xff0c;并且从Go1.13版本开始#xff0c;go module将是Go语言默认的依赖管理工具。到今天Go1.14版本推出之后Go modu…
文章目录1. 简介示例1. 示例——同一项目2. 示例——不同项目3. 示例——添加远程模块依赖库1. 简介
go module是Go1.11版本之后官方推出的版本管理工具并且从Go1.13版本开始go module将是Go语言默认的依赖管理工具。到今天Go1.14版本推出之后Go modules 功能已经被正式推荐在生产环境下使用了。
示例
1. 示例——同一项目
mkdir moduledemo
cd moduledemo
touch main.go
go mod init moduledemo
mkdir mypackage
touch mypackage/mypackage.go目录结构
-- moduledemo|-- go.mod|-- main.go-- mypackage-- mypackage.go文件 mypackage.go
package mypackageimport fmtfunc New(){fmt.Println(mypackage.New())
}main.go
package mainimport (fmtmoduledemo/mypackage // 导入同一项目下的mypackage包
)
func main() {mypackage.New()fmt.Println(main end)
}运行 go run main.go
mypackage.New()
main end2. 示例——不同项目
目录结构
|-- moduledemo
| |-- go.mod
| -- main.go
-- mypackage|-- go.mod-- mypackage.gomypackage 目录文件
mypackage.go 文件同上go.mod 通过 go mod init mypackage 生成
moduledemo 目录文件
main.go
import (fmtmypackage
)
func main() {mypackage.New()fmt.Println(main)
}go.mod
module moduledemogo 1.14require mypackage v0.0.0
replace mypackage ../mypackagerequire 用来定义依赖包及版本replace 替换对应的库
3. 示例——添加远程模块依赖库
下面示例中添加一个依赖项github.com/spf13/cobra库。Cobra是一个用于创建控制台应用程序的流行库不用关系库的具体用法。
mkdir mypackage
cd mypackage
touch main.go文件 main.go
package mainimport (fmtgithub.com/spf13/cobra
)func main() {cmd : cobra.Command{Run: func(cmd *cobra.Command, args []string) {fmt.Println(Hello, Modules!)},}fmt.Println(Calling cmd.Execute()!)cmd.Execute()
}添加依赖库
go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包并自动完成编译和安装。
--$ go mod init mymodule
go: creating new go.mod: module mymodule
--$ go get github.com/spf13/cobra
go: github.com/spf13/cobra upgrade v1.6.1
--$ cat go.mod
module mymodulego 1.15require github.com/spf13/cobra v1.6.1 // indirect目录结构
mymodule
|-- go.mod
|-- go.sum
-- main.go执行
--$ go run main.go
Calling cmd.Execute()!
Hello, Modules!