关于go语言依赖管理的相关介绍-创新互联

Go语言是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。今天创新互联成都网站设计公司小编给大家介绍go语言依赖管理,一起来看看吧。

为濮阳县等地区用户提供了全套网页设计制作服务,及濮阳县网站建设行业解决方案。主营业务为成都做网站、网站设计、外贸营销网站建设、濮阳县网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

go mod指令

关于go语言依赖管理的相关介绍

添加依赖

如果我们需要一个第三方的框架,首先查一下其在github上的url地址,如gin框架为github.com/gin-gonic/gin

首先开启module模式,即SET GO111MODULE = on,默认是auto(注意始终在当前项目目录下执行命令,免得出什么幺蛾子)

SET GOPROXY=https://goproxy.cn将代理设成国内的,不然下载不了,再加一句 env -w GOPROXY=https://goproxy.cn,direct(在goland中可以直接通过设置修改,不需要每次都执行该命令,前面的开启module模式也是一样)

关于go语言依赖管理的相关介绍

使用go mod init指令生成当前项目的go.mod文件

如果本地不存在需要的框架(GOPATH下),则执行go get -u github.com/gin-gonic/gin,大功告成,此时该框架应该会有三份,分别放在与src同级的pkg、GOPATH和External Libraries(实际不存在,goland虚拟出该目录,其中包括当前项目的module目录和GOROOT下的src目录,即SDK)目录下,编辑器通过External Libraries下的包来识别代码),当然也可以使用go mod download,但这个似乎不加参数,那么应该需要先在go.mod文件中添加该框架,才能成功,所以还是采用上一种

如果本地已经存在需要的框架,则执行go install github.com/gin-gonic/gin或者在go.mod文件的require中添加github.com/gin-gonic/gin(直接改文件好像不太行,应该要用go mod edit),或者在程序中import github.com/gin-gonic/gin然后执行go mod tidy

删除依赖

如果不再需要这个框架,则执行go mod tidy,如果程序中没有涉及到该框架的代码,该指令会自动将go.mod文件中的该框架删除

此时External Libraries目录下的该框架被删除,其余两处保留,结果是编辑器无法识别该框架,因此无法给出代码提示,并且会在涉及到该框架的代码处报错

其他指令

go mod vendor用于将当前项目所有的依赖打包放到项目下的vendor目录下,(该目录由该指令创建,自己新建文件夹无效),这样可以方便地将项目及其依赖拷贝到另外的计算机上。

另外扯点别的,goland 2019 3.0版本之后当检测到剪贴板中有github.com/gin-gonic/gin等时,会自动生成弹窗询问是否安装、导入等,如果已经设置好开启module模式并修改代理,可以直接点击弹窗上的选项进行操作

当前vscode暂不能很好地支持module模式(无法给出外部框架的代码提示,或时有时无,也不太能实现自动导包),另外错误显示延迟太严重。

关于go语言依赖管理的相关介绍就分享到这里了,希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

当前标题:关于go语言依赖管理的相关介绍-创新互联
文章出自:https://www.cdcxhl.com/article8/cogjop.html

成都网站建设公司_创新互联,为您提供网站维护服务器托管静态网站面包屑导航网站导航网站策划

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营