go get 和 go mod tidy 的区别

go get 和 go mod tidy 的效果很相近,它们都可以下载需要的依赖项并更新 go.mod 和 go sum 所以在使用时经常会发生混淆。其实它们最主要区别就在于 go mod tidy 能在我们从代码中移除某个依赖之后,重新整理 go.mod 和 go.sum 文件,比如我们在文件中导入 "github.com/spf13/viper" (无论是使用 go get 还是 go mod tidy)那么 go.sum 就会生成以下内容:

require github.com/spf13/viper v1.19.0require (github.com/fsnotify/fsnotify v1.7.0 // indirectgithub.com/hashicorp/hcl v1.0.0 // indirectgithub.com/magiconair/properties v1.8.7 // indirectgithub.com/mitchellh/mapstructure v1.5.0 // indirectgithub.com/pelletier/go-toml/v2 v2.2.2 // indirectgithub.com/sagikazarmark/locafero v0.4.0 // indirectgithub.com/sagikazarmark/slog-shim v0.1.0 // indirectgithub.com/sourcegraph/conc v0.3.0 // indirectgithub.com/spf13/afero v1.11.0 // indirectgithub.com/spf13/cast v1.6.0 // indirectgithub.com/spf13/pflag v1.0.5 // indirectgithub.com/subosito/gotenv v1.6.0 // indirectgo.uber.org/atomic v1.9.0 // indirectgo.uber.org/multierr v1.9.0 // indirectgolang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirectgolang.org/x/sys v0.18.0 // indirectgolang.org/x/text v0.14.0 // indirectgopkg.in/ini.v1 v1.67.0 // indirectgopkg.in/yaml.v3 v3.0.1 // indirect
)

但是当我们从 import () 中移除 “github.com/spf13/viper”,go.mod 和 go.sum 文件并不会移除上面内容。当我们再使用 go get 添加新依赖,比如 “github.com/mattn/go-sqlite3” 。那么 go.mod 和 go.sum 同样会被更新,当时不会移除 “github.com/spf13/viper” 在 go.mod 和 go.sum 中相关的依赖信息,而是直接添加github.com/mattn/go-sqlite3 v1.14.22 // indirect。那么长期积累,便会使得 go.mod 和 go.sum 文件特别臃肿,所以此时我们就需要使用 go mod tidy 进行清理,变成:

require github.com/mattn/go-sqlite3 v1.14.22

目前看来,没有查找到是否这种状况会造成依赖冲突的答案,但是为了 go.mod 和 go.sum 的整洁,还是建议使用定期使用 go mod tidy 进行依赖项清理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/35095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读Vlogger: Make Your Dream A Vlog

摘要 论文介绍了一个名为“Vlogger”的通用人工智能系统,它能够根据用户的描述生成分钟级的视频博客(vlog)。与通常只有几秒钟的短视频不同,vlog通常包含复杂的故事情节和多样化的场景,这对现有的视频生成方法来说是一…

正版软件 | DupInOut Duplicate Finder:智能清理,让数据井然有序

在信息爆炸的时代,我们经常面临数据管理的挑战。DupInOut Duplicate Finder 是一款专为Windows 设计的重复文件查找工具,帮您快速识别并删除重复的文档、音乐、视频和照片,让您的计算环境更加清洁、有序。 精准查找,一键删除 DupI…

专利-高效低成本声音克隆系统及其资源优化管理方法

一、发明背景 当前声音克隆技术的成本较高,例如,原有技术的成本大约为500美元。这种高成本限制了声音克隆技术的广泛应用和商业化潜力。 二、发明的新颖性 描述基于对等节点结构的声音克隆集群,每个节点都能提供训练和推理服务。强调前端处…

下拉选择输入框(基于elment-ui)

最近在需求中,需要有一个下拉选择功能,又得可以输入,在 element-ui 官网找了,发现没有适合的,然后在修炼 cv 大法的我,也在网上看了一下,但是也都感觉不合适,所以就自己写了一个&…

Todesk远程连接Ubuntu卡100%,以及小窗口打不开

Todesk远程连接Ubuntu卡100%,以及小窗口打不开 使用Todesk远程连接Ubuntu一直卡100%进不去还有todesk里的小悬浮窗打开就会小时(小下拉框会消失) 使用Todesk远程连接Ubuntu一直卡100%进不去 还有todesk里的小悬浮窗打开就会小时(小…

追求准确,还是追求举一反三,聊天机器人智能程度的困境 | Chatopera

在为企业客户上线聊天机器人客服的过程中,总会遇到一个问题,这让用户和我们都感到纠结。 到底是追求让机器人能准确的回答问题,还是让机器人可以举一反三的回答问题。 准确的回答问题,就是不容许回答错了,但是这样机…

这5款Windows高质量软件,吊打付费,谁用谁爽

咱们话不多说,进入我的电脑。 一键远控 一个支持远程控制电脑、传输文件、观看视频、锁定电脑屏幕以及重启和关机的免费远程控制软件。 再输入对应的设备识别码和验证码后,就可以对另一台电脑进行各种操作,同时也支持多台设备同时也能控制。…

Spring Boot中的文件下载实现

Spring Boot中的文件下载实现 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨一下在Spring Boot中如何实现文件下载的技术细节和最佳实践。 介绍…

北京物流调度app开发,放心邮,安全到

随着交通运输的不断发展与完善,我国快递物流行业也不断成熟。但普通的快递所能运输的种类和数量有限,且可能对一些贵重、易碎的物品造成损害。为此,人们将目光投向了运输种类和数量更广泛的物流运输。为了让传统的物流运输能够像快递一样便捷…

vue2 使用 highlight.js 实现代码高亮(一些使用上遇到的坑)

一,使用 1.下载 npm install highlight.js --save2.封装成全局自定义指令 utils/highlight.js import hljs from "highlight.js"; import highlight.js/styles/stackoverflow-light.css //sql语言提供的关键字不全可以自定义补充 var sql = hljs.getLanguage(sql)…

本地调试时不将服务挂到nacos

本地调试的时候不将服务挂到nacos从而影响前端和测试使用,需要在edit Configurations...加入一句配置信息。 -Dspring.cloud.nacos.discovery.register-enabledfalse

由浅入深,走进深度学习(补充篇:转置卷积和FCN)

本期内容是针对神经网络层结构的一个补充,主要内容是:转置卷积和全连接卷积网络 相关内容: 由浅入深,走进深度学习(2)_卷积层-CSDN博客 由浅入深,走进深度学习(补充篇&#xff1a…

7月开始,考研数学0️⃣基础线代30天满分规划

线代零基础? 那千万不要去跟李永乐老师的线代课程,因为李永乐老师的线代课程比较进阶,适合有一定基础的同学去听,下面这两位才是零基础线代的神! 一个是喻老,另外一个是汤家凤! 这两个老师的…

阎石《数字电子技术》面试建议

参考书:《数字电子技术基础》 阎石 高教出版社 整体来说数电要比模电简单,能问的地方也不多,但是一定要注意犄角嘎拉里的东西 , 比如去年就有老师问 sram 是什么的缩写,很简单,但平时不注意就会回答不上来。…

UE4_材质_水涟漪、水深制作_Ben教程

学习笔记,不喜勿喷!侵权立删,祝愿生活越来越好! 效果图如下: 创建水材质的教程,首先需要外出收集一些参考,看一看你将要做的事情很重要,确定将要模仿物体的关键属性,从这…

华为面试题及答案——机器学习(二)

21. 如何评价分类模型的优劣? (1)模型性能指标 准确率(Accuracy): 定义:正确分类的样本数与总样本数之比。适用:当各类样本的数量相对均衡时。精确率(Precision): 定义:预测为正类的样本中实际为正类的比例。适用:当关注假阳性错误的成本较高时(例如垃圾邮件检测…

小山菌_代码随想录算法训练营第三十五天| 509. 斐波那契数 、70. 爬楼梯、746. 使用最小花费爬楼梯

509. 斐波那契数 文档讲解&#xff1a;代码随想录.斐波那契数 视频讲解&#xff1a;手把手带你入门动态规划 | LeetCode&#xff1a;509.斐波那契数 状态&#xff1a;已完成 代码实现 class Solution { public:int fib(int n) {if (n < 1)return n;vector<int> dep(n…

基于SOAR模型的面部情绪识别

摘要 情绪表达在日常交流中起着特殊的作用&#xff0c;而检测情绪最重要的方法之一就是识别面部情绪状态。因此&#xff0c;自然人机交互的关键点是识别面部表情并根据感知到的情绪提供反馈。模型的实现涉及两个主要步骤。第一步是读取视频并将其转换为图像&#xff0c;然后对…

iOS包ShaderVariantCollection预热慢问题

1&#xff09;iOS包ShaderVariantCollection预热慢问题 2&#xff09;使用SBP打Bundle如何读取AssetBundleManifest 3&#xff09;如何将一张贴图经过Shader处理后的结果输出给另外一个Shader使用 4&#xff09;为什么我的水这么干净&#xff0c;和UE教程里的有差别 这是第392篇…

Pandas 学习笔记(一)

一、pandas简介 Pandas 是 Python 语言的一个扩展程序库&#xff0c;用于数据分析。 Pandas 名字衍生自术语 "panel data"&#xff08;面板数据&#xff09;和 "Python data analysis"&#xff08;Python 数据分析&#xff09;。 Pandas 是一个开放源码…