go mod使用小结
转载请注明出处:
go mod 命令是用于管理 Go 语言项目的模块依赖关系的工具。Go 语言从 1.11 版本开始引入了模块支持,并在后续版本中逐渐完善。模块是 Go 语言代码的一个集合,每个模块都有一个唯一的版本标识。通过使用模块,可以更好地管理项目的依赖关系,确保代码的兼容性和可维护性。
以下是 go mod 命令的一些常见用法及其详细示例和分析:
1. 初始化模块
命令: go mod init <module-name>
作用: 初始化一个新的模块,创建一个 go.mod 文件,并设置模块的名称。
示例:
mkdir myproject
cd myproject
go mod init myproject.com/myproject
2. 获取依赖
命令: go mod tidy
作用: 添加缺失的依赖项,并移除未使用的依赖项,确保 go.mod 和 go.sum 文件是最新的。
示例:
go get github.com/gorilla/mux
go mod tidy
go get命令用于获取依赖项,并将其添加到go.mod文件中。go mod tidy命令会检查当前项目中的所有导入路径,确保go.mod和go.sum文件中的依赖项是最新的,并且没有多余的依赖项。
3. 显示依赖关系
命令: go mod graph
作用: 显示模块依赖关系图。
示例:
go mod graph
该命令会输出当前模块及其依赖模块的关系图,以空格分隔的模块路径表示。
例如,输出可能类似于:
myproject.com/myproject github.com/gorilla/mux@v1.8.2
github.com/gorilla/mux@v1.8.2 golang.org/x/net@v0.0.0-20210503060351-7e0cfde77e3d
4. 验证依赖
命令: go mod verify
作用: 验证 go.mod 和 go.sum 文件中记录的依赖项的哈希值是否匹配。
示例:
go mod verify
该命令会检查
go.mod和go.sum文件中记录的依赖项的哈希值是否与实际下载的依赖项的哈希值匹配。如果不匹配,则表明依赖项可能被篡改或损坏。
5. 切换 Go 版本
命令: go mod edit -go=<version>
作用: 切换模块使用的 Go 版本。
示例:
go mod edit -go=1.19
该命令会修改
go.mod文件中的go指令,将其设置为指定的 Go 版本。例如,将
go 1.18改为go 1.19。
go mod 命令是 Go 语言模块管理的重要工具,通过它可以方便地初始化模块、获取依赖、显示依赖关系、验证依赖、切换 Go 版本以及替换依赖。
go mod使用小结的更多相关文章
- mod性质 学习笔记
mod性质小结 \(a\equiv b(\mod m)\) $ \rightarrow \( \)a-b=k*m,k\in Z$ \(a\equiv b且c\equiv d(\mod m)\) \(\ ...
- Linux sort命令使用方法
sort命令在Linux中主要用于对文件进行排序,并将排序结果输出.sort命令输入可以是指定的文件和数据流.本文主要介绍sort命令的基本语法和常见使用实例. sort命令语法 sort命令格式:s ...
- [系列] 使用 go modules 包管理工具(一)
目录 概述 初始化 添加依赖包 go mod 命令 小结 源码地址 概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的. 为什么是开箱即用,它会集成哪些功能? 以上 ...
- [bzoj3162]独钓寒江雪_树hash_树形dp
独钓寒江雪 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3162 题解: 首先,如果没有那个本质相同的限制这就是个傻逼题. 直接树形dp ...
- [数据结构]RMQ问题小结
RMQ问题小结 by Wine93 2014.1.14 1.算法简介 RMQ问题可分成以下2种 (1)静态RMQ:ST算法 一旦给定序列确定后就不在更新,只查询区间最大(小)值!这类问题可以用倍增 ...
- [数据结构]KMP小结
KMP小结 By Wine93 2013.9 1.学习链接: http://www.matrix67.com/blog/archives/115 2.个人小结 1.KMP在字符串中匹配中起着巨大作 ...
- Lua的require和module小结
Lua的require和module小结 module特性是lua5.1中新增的,用于设置Lua文件自己的模块,最常用的方式是module(name,package.seeall),有时候lua文件 ...
- 常用Linux命令小结
常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...
- 45个非常有用的 Oracle 查询语句小结
45个非常有用的 Oracle 查询语句小结 这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 ...
- GopherChina第二天小结
GopherChina第二天小结 今天继续昨天的文章,参加了第二天的GopherChina,例行完成总结. 基于MINIO的对象存储方案在探探的实践 关于对象存储,之前用过seaweedfs,但是对M ...
随机推荐
- Round #2022/11/26
问题 B:染色 题目描述 有长度为 \(n\) 的一个序列,编号为 \(1\) 到 \(n\) ,现要对这些元素进行染色标记,若编号 \(i-j\) 为素数,且 \(1\le i < j \le ...
- JavaScript Library – Lit
前言 我写过一篇关于 Lit 的文章,Material Design, Angular Material, MDC, MWC, Lit 的关系. 如今 material-web MWC 已经发布 1. ...
- MDC – Material Design, Angular Material, MDC, MWC, Lit 的关系
前言 它们关系挺乱的, 而且不只是我一个人感觉乱 还有 所以这篇做一个整理吧. Material Design Google 的设计指南. 早年用于 Android Apps, 现在也用于 Web A ...
- Qt构建cmake工程方法总结
由于工作需要,最近打算统一将所有C/C++项目都改成使用cmake编译.传统后台业务问题不大,但是有些牵涉到跨平台的Qt项目还是折腾了一阵.下面对这段时间的收获做一个总结,也希望帮助看到本文的朋友少走 ...
- duxui:基于Taro,兼容React Native、小程序、H5的多端UI库
duxui是duxapp官方开发的一款兼容多端的UI组件库,兼容小程序.H5.React Native,库中提供了60+的组件,覆盖大部分使用场景 它能帮助你通过统一的组件样式,快速完成多端应用的开发 ...
- c#传统读取配置文件
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; namespace C ...
- 网络应用模型的经典分类:C/S 与 P2P
网络应用无处不在,从我们日常使用的社交媒体到远程文件传输,网络应用模型是支撑这些通信和服务的基础架构.通常,这些网络应用根据其结构原理可以被大致划分为两大类:C/S(Client/Server)模型和 ...
- Windows 使用 Mingw-w64 配置GCC套件
Mingw-w64里的gcc和g++应该是很多人常用的编译工具.但是他的下载资源很乱,不好找(注意:MinGW和MinGW-w64是同宗同源的两款软件!),要么就是版本太老.SourceForge上有 ...
- Selenium测试form表单之下拉列表
处理form表单中的下拉列表,需要用到一个Selenium工具类-Select 一.Select工具类常用属性和方法 方法/属性 描述 1 select_by_value() 根据值选择 2 sele ...
- TXT文本Log日志分割工具(附工具链接)
前言 相信大家也会像我一样,生产出现了问题,拿下来的日志,用文本编辑器打开直接卡死,甚至说非常卡,查起来非常麻烦且费时间 当当当当 ~~~~~~ 又小,免费非安装的TXT文件分割器就此诞生 链接地址: ...