首页 > 其他分享 >理解 go mod init 命令

理解 go mod init 命令

时间:2024-03-26 12:44:37浏览次数:23  
标签:依赖 Go init 模块 go mod

go mod init 命令是 Go 1.11 中引入的 Go 模块系统的基本组成部分。它用于创建或初始化 Go 模块,是管理 Go 项目中依赖关系和版本的一种方法。下面是关于 go mod init 的全部内容:

1.初始化 Go 模块

go mod init 命令的主要用途是初始化项目中的 Go 模块。

Go 模块是指与版本相关联的 Go 包的集合。定义了项目的依赖和版本,确保项目可以重建。

2.用法

打开终端,进入项目的根目录

执行 go mod init命令的时候加上模块的路径。典型的模块路径是代码所在的资料库

go mod init example.com/myproject

3.生成 go.mod

运行 go mod init 命令会在项目的根目录下生成一个 go.mod 文件。该文件包含了模块信息和依赖信息

4.go.mod 的内容

·模块路径

·Go的版本信息

·依赖信息

5.go.mod 文件示例

module example.com/myproject

go 1.17

require (
    github.com/somepkg/somepkg v1.2.3
    github.com/anotherpkg/anotherpkg v0.4.0
)

6.go.sum 文件

跟随 go.mod 文件一起被创建的还有 go.sum 文件。

该文件包含依赖模块的校验和。保证下载的模块的完整性。

7.更新依赖

初始化之后,可以使用 go get 增加新的依赖或者更新依赖。执行后会更新go.mod文件的内容。

8.版本控制

Go 模块使用语义版本管理(semver)来管理依赖关系。在 go.mod 文件中,你可以指定模块所需的依赖关系的最小版本,Go 模块会尝试使用最新的兼容版本。

9.Vendor Directory

默认情况下,Go 模块会将依赖关系存储在项目中的 Vendor Directory中。该目录包含模块及其依赖项的源代码副本。

10.可重现的构建

Go 模块会在 `go.mod` 文件中记录依赖项的具体版本,并使用 `go.sum` 文件对其进行验证,从而确保构建的可重复性。

 

总之,go mod init 是用于初始化 Go 模块的命令,对于管理依赖关系和确保 Go 项目中软件包的版本控制至关重要。它为可重现和可预测的构建提供了一个强大的机制。

标签:依赖,Go,init,模块,go,mod
From: https://www.cnblogs.com/abclife/p/18096182

相关文章

  • 使用Go语言开发一个短链接服务:一、基本原理
    章节 使用Go语言开发一个短链接服务:一、基本原理 使用Go语言开发一个短链接服务:二、架构设计 使用Go语言开发一个短链接服务:三、项目目录结构设计 使用Go语言开发一个短链接服务:四、生成code算法 使用Go语言开发一个短链接服务:五、添加和获取短链接 使用Go语言开......
  • go--time 模块
    time模块获取当前的时间和月份packagemainimport("fmt""time")funcmain(){t:=time.Now()//获取当前时间fmt.Println(t)fmt.Println(t.Date())//获取日期fmt.Println(t.Year())//获取年份fmt.Println(t.M......
  • 使用Go语言开发一个短链接服务:四、生成code算法
    章节 使用Go语言开发一个短链接服务:一、基本原理 使用Go语言开发一个短链接服务:二、架构设计 使用Go语言开发一个短链接服务:三、项目目录结构设计 使用Go语言开发一个短链接服务:四、生成code算法 使用Go语言开发一个短链接服务:五、添加和获取短链接 使用Go语言开......
  • 使用Go语言开发一个短链接服务:五、添加和获取短链接
    章节 使用Go语言开发一个短链接服务:一、基本原理 使用Go语言开发一个短链接服务:二、架构设计 使用Go语言开发一个短链接服务:三、项目目录结构设计 使用Go语言开发一个短链接服务:四、生成code算法 使用Go语言开发一个短链接服务:五、添加和获取短链接 使用Go语言开......
  • 使用Go语言开发一个短链接服务:六、链接跳转
    章节 使用Go语言开发一个短链接服务:一、基本原理 使用Go语言开发一个短链接服务:二、架构设计 使用Go语言开发一个短链接服务:三、项目目录结构设计 使用Go语言开发一个短链接服务:四、生成code算法 使用Go语言开发一个短链接服务:五、添加和获取短链接 使用Go语言开......
  • 使用Go语言开发一个短链接服务:三、项目目录结构设计
    章节 使用Go语言开发一个短链接服务:一、基本原理 使用Go语言开发一个短链接服务:二、架构设计 使用Go语言开发一个短链接服务:三、项目目录结构设计 使用Go语言开发一个短链接服务:四、生成code算法 使用Go语言开发一个短链接服务:五、添加和获取短链接 使用Go语言开......
  • golang模板库之fasttemplate
    简介fasttemplate是一个比较简单、易用的小型模板库。fasttemplate的作者valyala另外还开源了不少优秀的库,如大名鼎鼎的fasthttp,前面介绍的bytebufferpool,还有一个重量级的模板库quicktemplate。quicktemplate比标准库中的text/template和html/template要灵活和易用很多,后面会专......
  • Go的可变参数函数
    可变函数是指可以接收可变数量的参数的函数。在Golang中,可以传递与函数签名中引用的类型相同的不同数量的参数。在声明可变函数时,最后一个参数的类型前会有一个省略号"...",这表明该函数可以用任意数量的该类型参数来调用,可以是0个、1个或者多个。这种类型的函数在不知道传递给......
  • Django之权限管理
    一,引入1.为什么要有权限?2.为什么要开发权限的组件?3.在web开发中,什么是权限?4.表结构的设计权限表IDURL1/user_list/2/customer_list/用户表IDUSER_NAME1root2root2角色/用户组表ID组1销售2开发用户与角色的......
  • CPPB 表中的TXN_CATEGORY
    cst_pac_period_balanceTXN_CATEGORY1    期初    2    成本更新:新成本或百分比变动    3    自有成本事务处理    4    非返工完成    5    成本更新:值变动    6    返工发放    7    返工完成    8    组......