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 如何模块化的详细内容,更多请关注创新互联成都网站设计公司其它相关文章!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。