教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Go1.11 module 体验(Go 11.1 beta 版)

Go1.11 module 体验(Go 11.1 beta 版)

发布时间:2023-01-27   编辑:jiaochengji.com
教程集为您提供Go1.11 module 体验(Go 11.1 beta 版)等资源,欢迎您收藏本站,我们将为您提供最新的Go1.11 module 体验(Go 11.1 beta 版)资源

依赖管理这一路

最开始选择使用 govendor 作为项目的依赖管理。原因是对比了 Godoc 推荐的几个依赖管理工具,govendor 跟其他几个工具相比,目录最干净,只有一个 vendor 文件夹。(而且当时选用的 web 框架 gin 也使用了 govendor)

后来在同事的推荐下更换了“官方”的 dep,从 govendor 无痛切换为 dep。项目目录下多了两个讨厌的 Gopkg.* 文件。之前了解的 Go 语言最佳实践并不包含这种首字母大写的文件命名方式。但是还是用了下来,谁让是“官方”出品呢。(后来了解到 dep 是官方社区的产物)

dep 没用多久,vgo 就来了。刚了解到 vgo 的时候专门去 dep 的 github 了解了一下。发现 dep 还在正常开发。对比 vgo 之后发现使用方式和命名方式截然不同。(两个团队分别的产物,相关八卦可以自行 Google)。

这次 vgo 并没有直接体验,听说 vgo 最后是要合并到 go tool 工具链中的。并且发现会在 go 1.11 版本中在2018年8月发布。于是沉下心,等合并到 go tool 中之后再体验。

vgo 和 go1.11beta2 及 go1.11beta3 的使用方式略有不同,本文直接以最新的 beta3 版本示例

安装 golang beta 版

体验 golang beta 版本比想象中要容易的多,直接输入以下命令

go get -v golang.org/dl/go1.11beta3
go1.11beta3 download
beta 版本的 go 跟正式版本的 go 互不影响,使用beta版本的时候直接使用命令go1.11beta3 run **方式

使用 go modules

在使用之前需要开启gomodules,直接在 $GOPATH/src 目录下执行以下命令,修改环境变量

export GO111MODULE=on

初始化

接下来我们来初始化go modules,来到项目目录下,执行命令

go1.11beta3 mod init

执行命令后,会在项目目录下发现go.mod文件。如果发现了这个文件,说明已经初始化成功。这个文件因为没有同步依赖关系,所以文件里只有一行,就是项目目录

如果你的项目之前使用了 dep 或其他依赖管理工具,那么在首次使用go mod的时候会自动同步依赖关系,并提示从某工具迁移到 go modules。这招果然漂亮,直接从其他社区工具接管。

创建依赖关系

执行以下命令会自动分析项目里的依赖关系同步到go.mod文件中,同时创建go.sum文件

go1.11beta3 mod tidy

在日后的开发工作中,直接使用这个命令就可以增删同步依赖关系。

使用 vendor 文件夹

以上的管理依赖管理操作,所以依赖包还是在GOPATH/src目录下,go module 当然可以把包直接放在当前项目中管理。

go1.11beta mod vendor

直接使用这个命令就可以把GOPATH/src目录下的依赖包同步到当前项目目录中。

到此这篇关于“Go1.11 module 体验(Go 11.1 beta 版)”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
GO 依赖管理工具go Modules(官方推荐)
Go Modules与GOPROXY 配置
go 类型 value 不支持索引_Go语言基础(十四)
Golang从入门到进阶系列:Go Modules机制
golang https 代理_goproxy.cn - 为中国 Go 语言开发者量身打造的模块代理
5分钟入门golang module
GOPROXY:解决 go get golang.org/x 包失败
Go Modules 的使用
Golang包管理详解
go run main.go 参数_Go语言入门:Hello world

[关闭]
~ ~