温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

golang模块化编程

发布时间:2020-06-09 14:38:38 来源:亿速云 阅读:814 作者:鸽子 栏目:编程语言

go1.11 中实现了 go module ,可以使用官方推荐的模块化编程方案

go module 定义  

模块 ( module ) 是相关 go 包的集合,是是源代码交换 ( interchange ) 和版本化控制的基本单元

简史

1.5 版本之前的 go,go get 命令会将包会下载到 GOPATH 路径中

1.5 及以上版本,添加了 依赖的组织名

vgo 被提议作为 Go 模块支持的原型

Go 1.11 (beta) 版本中,vgo 被合并到主干代码并改进为 go mod ( 实验性质 )

术语

「模块根目录」 ( Module root ) : 包含了名为 go.mod 文件的目录

「模块路径」 ( Module path ) : 与模块根目录对应的导入路径的前缀

「主模块」( Main module ) : 包行了运行 go 命令的所在目录的模块

模块结构

模块是包含了 Go 源文件的目录树,并在根目录中添加了名为 go.mod 的文件

go.mod 包含模块导入名称,声明了要求的依赖项,排除的依赖项和替换的依赖项

下面的代码就是一个简化了的 go.mod 的内容

module my/thing

require (
        one/thing v1.3.2
        other/thing v2.5.0 // indirect
        ...
)

exclude (
        bad/thing v0.7.3
)

replace (
        src/thing 1.0.2 => dst/thing v1.1.0
)

需要注意的是,该文件中声明的依赖,并不会在模块的源代码中使用 import 自动导入,还是需要我们人工添加 import 语句来导入的

以上就是golang 如何模块化的详细内容,更多请关注亿速云其它相关文章!

向AI问一下细节
推荐阅读:
  1. golang struct
  2. golang 指针

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI