golang模块化编程

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 如何模块化的详细内容,更多请关注北单博客其它相关文章!

原创文章,作者:EVOWS,如若转载,请注明出处:https://www.beidanyezhu.com/a/26080.html

(0)
EVOWS的头像EVOWS
上一篇 2024-12-17 14:10:17
下一篇 2025-01-01 17:24:57

相关推荐

  • golang中导入包的方法

    这篇文章运用简单易懂的例子给大家介绍golang中导入包的方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 import Go 使用包(package)作为…

  • 如何升级golang的版本

    升级Golang 主要步骤: 1、卸载旧版本 2、下载新版本 3、安装新版本 4、配置环境变量 详细步骤: 1、卸载旧版本 首先,执行 go env,列出关于go的环境信息,查看 …

  • Golang实现REST API架构

    有一种说法,golang 编写的 API 不能像其他语言那样简单和通用。但实际上,我遇到很多 REST API 的代码,非常多的抽象,使得代码库变得混乱和复杂,最终伤害了可读性和可…

    2025-01-03
  • golang有哪些数据类型

    这期内容当中小编将会给大家带来有关golang有哪些数据类型,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 在 Go 编程语言中,数据类型用于声明函数和变量。…

  • golang是什么

    golang是什么?针对这个问题,这篇文章给出了相对应的分析和解答,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。 Go(又称Golang)是Google开发的一种静态…

  • 如何用golang实现约瑟夫环

    约瑟夫环概念: 约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从…

    2025-01-02
  • golang的字符串操作

    Go语言简介 Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。 罗伯特·格瑞史莫(Robert Griesemer),罗勃…

  • golang中的链接link是什么

    链接(link) 我们编写的程序可能会使用其他程序或程序库( library ) 正如我们在helloworld程序中使用的fmt package 我们编写的程序必须与这些程序或程…

  • golang的内存分配

    本篇文章主要介绍golang的内存分配,文中关于内存分配的算法以及mcache的介绍均以实例展示,有需要的朋友可以参考一下。 程序内存大致可以分为5个段text、data、bss、…

    2025-01-01
  • golang中gopath的介绍

    这篇文章主要介绍了golang中gopath工具,具有一定借鉴价值,需要的朋友可以参考下。如下资料是关于gopath的详细步骤内容。 前言 在本章中,我们将介绍go语言的项目结构、…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部