go moudules是Go的一个包管理工具,官方提供的,还是比较靠谱的,最低Go版本要求1.11+。
响水ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
可以理解为Python的虚拟环境,或者Java的maven,PHP的composer。
其本质解决的问题就是包管理混乱问题。
反正就是,用就完事了,只有好事,没有坏事。
- GO111MODULE=off # 不适用modules功能
- GO111MODULE=off #使用molules功能,不会去GOPATH下找依赖包, 1.11+版本默认开启
- GO111MODULE=auto:Golang # Golang自己简则是不是使用modules功能
根据上述命令,可以得到结论,在1.11+版本中,默认就是可以使用go modules的,不需要做其他设置。
没有使用go modules时,我们直接go get下载的包,会默认放在%GOPATH%/src目录下。
启用go modules后,包都会下载到%GOPATH%/pkg/mod文件夹中。
并且会带版本号,基本彻底解决依赖问题。
创建go.mod文件
go.mod文件相当于requirement.txt文件,里面会放一些所需要的依赖包。
我创建了一个gomod-demo文件夹。
并且CMD进入此文件夹里面。
执行命令go mod init gomod-demo。
后面这个gomod-demo可以随便写,建议和文件夹名字一样。
成功后,文件夹下会多了一个go.mod文件,代表成功。
我用Goland打开这个gomod-demo文件夹。
go.mod文件说明
当然,这些基本我们不需要动,都是通过命令或者IDE修改的。
简单使用
比如我需要使用一个xstrings 包。
github地址:https://github.com/huandu/xstrings。
需要执行此命令安装此包。
执行下载命令。
go.mod文件会自动添加一个依赖包。
代码:
- package main
- import (
- "fmt"
- "github.com/huandu/xstrings"
- )
- func main() {
- s := "heheh ADSL附近"
- center := xstrings.Count(s, "h")
- fmt.Println(center)
- }
go连接Mysql
github文档如下。
执行下载命令 go get -u github.com/go-sql-driver/mysql
go.mod文件如下。
代码:
- package main
- import (
- "database/sql"
- _ "github.com/go-sql-driver/mysql"
- "time"
- )
- func main() {
- //s := "heheh ADSL附近"
- //center := xstrings.Count(s, "h")
- //fmt.Println(center)
- db, err := sql.Open("mysql", "user:password@/dbname")
- if err != nil {
- panic(err)
- }
- // See "Important settings" section.
- db.SetConnMaxLifetime(time.Minute * 3)
- db.SetMaxOpenConns(10)
- db.SetMaxIdleConns(10)
- }
可能出现的异常
如果使用go get 第三方包时,goland无法导入,或者报错,或者没有Go Modules。
在项目目录下,使用go mod download下载一下,基本可以解决问题,只要有Go Modules,就代表没问题。
如果还是没有Go Modules,在Goland中settings->Go->GoModules(vgo)
go mod所有命令
- 在当前文件夹下初始化一个新的 module,创建 go.mod 文件:go mod init name
- 拉取缺少的模块,移除不用的模块:go mod tidy
- 将依赖复制到 vendor 下:go mod vendor
- 下载依赖:go mod download
- 检验依赖:go mod verify
- 显示模块依赖图:go mod graph
- 解释为什么需要依赖:go mod why
- 编辑 go.mod 文件:go eidt
- 查看命令列表:go mod
- 查看命令帮助文档:go help mod
上述我们学习了go mod的如何使用。如果在操作过程中有任务问题,记得下面讨论区留言,我们看到会第一时间解决问题。
本文转载自微信公众号「Go语言进阶学习」,可以通过以下二维码关注。转载本文请联系Go语言进阶学习公众号。
名称栏目:一篇文章教会你如何使用Go语言Modules
当前链接:http://www.36103.cn/qtweb/news33/32183.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联