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

go module 定义 (推荐学习:go)

模块 ( 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/thingrequire (        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 语句来导入的

更多相关文章

  1. go mod模块化介绍
  2. 一个简单的基于XML的模块集成框架
  3. XML入门教程:详细介绍XHTM模块
  4. Node.js 12中的ES模块[每日前端夜话0x9E]
  5. Linux根目录分区大小调整教程
  6. Node.js 中的ES模块现状[每日前端夜话0x8D]
  7. Ansible 之 ansible-doc模块文档说明
  8. 一看就懂,Python 日志模块详解及应用
  9. TensorFlow layers模块用法

随机推荐

  1. 一起看看php实现购物车产品删除功能(2)
  2. 详解PHP基础算法:冒泡、选择、插入、快速
  3. php之接口与前端数据交互实现示例代码
  4. 一起看看php实现产品加入购物车功能(1)
  5. 了解php操作redis的几种常用方法
  6. 几款你绝对不知道的PHP集成开发环境软件
  7. PHP session如何实现购物车功能
  8. PHP如何操作json?方法介绍
  9. 实现详解Ajax+php数据交互并且局部刷新页
  10. 实现简单的php购物车代码