go mod使用小结

news/2024/11/28 23:31:07/文章来源:https://www.cnblogs.com/zjdxr-up/p/18575457

转载请注明出处:

  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.modgo.sum 文件是最新的。

  示例

go get github.com/gorilla/mux
go mod tidy
  • go get 命令用于获取依赖项,并将其添加到 go.mod 文件中。

  • go mod tidy 命令会检查当前项目中的所有导入路径,确保 go.modgo.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.modgo.sum 文件中记录的依赖项的哈希值是否匹配。

  示例

go mod verify
  • 该命令会检查 go.modgo.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 版本以及替换依赖。

 

 

 

 

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

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

相关文章

Threejs入门-灯光

在 Three.js 中,灯光是非常重要的元素之一,它能够模拟现实世界中的光照效果,帮助我们打造更加真实的三维场景。灯光的种类和配置方式可以影响整个场景的视觉效果,在不同的应用中,灯光的使用非常关键。 灯光概述 Three.js 提供了几种常见的光源类型:环境光(Ambient Light…

《Django 5 By Example》阅读笔记:p383-p387

《Django 5 By Example》学习第 14 天,p383-p387 总结,总计 5 页。 一、技术总结 1. asynchronous task(异步任务) 对于异步任务,书中使用的是 celery 和 RabbitMQ,这也是平时工作中的主流用法。 (1) celery Python 使用的 celery 包的名字也是 celery。 2. RabbitMQ (1) 拉…

思维模型:六顶思考帽,从不同角度思考问题,提升思维认知

思维模型:六顶思考帽思维模型,从不同角度思考分析问题,提升思维认知介绍 六顶思考帽(Six Thinking hats) ,由爱德华德博诺博士提出的一种思维认知模型工具。 它是通过不同颜色的帽子来代表六种不同的思维方式,帮助人们从多个角度全面分析和解决问题,提升认知。这六种颜…

12.SpringCloudAlibabaSentinel实现熔断和限流

1.Sentinel 1.1 官网 sentinel官网,类似Spring Cloud Circuit Breaker。 1.2 是什么 面向分布式、多语言异构化服务架构的流量治理组件。 1.3 下载地址 https://github.com/alibaba/Sentinel/releases 1.4 能干吗 Sentinel以流量为切入点,从流量控制、流量路由、熔断降级、系…

视觉多模态理解模型基础

1. 视觉多模态简介 视觉多模态一般涵盖2个要点:视觉表征 以及 视觉与自然语言的对齐(Visual Language Alignment)或融合。1.1. 视觉表征 视觉表征是指:将图像信息转化为深度学习模型可以处理的特征向量或向量序列的过程。具体来说,它包含以下2点:合理建模视觉输入特征:这…

Padavan 使用VNT

openwrt ppoe拨号有问题,实在忍受不了,只能换回稳定的Padavan下载二进制vnt放至/etc/storage添加自启脚本/etc/storage/vnt-cli -s tcp://x.x.x.x:29872 -k passwd --use-channel relay -n R3P -o 192.168.123.0/24 -i 10.1.50.0/24,10.1.1.4 -i 10.2.110.0/24,10.1.1.223 …

【架构】统一认证中心的架构设计与实现(一)

一、背景二、认证授权概念2.1 认证2.2 授权三、一些名词四、常见的认证方案4.1 JWT4.2 OAuth2五、SSO协议5.1 OpenID Connect5.2 SAML 2.05.3 CAS六、RBAC一、背景 一般在一个公司内部可能有多个系统,比如OA,财务系统,CMS,ERP,营销系统,客服中心,项目管理系统,代码管理…

Listener内存马

概述 Listener是Java Web App中的一种事件监听机制,用于监听Web应用程序中产生的事件,例如,在ServletContext初始化完成后,会触发contextInitialized事件,实现了ServletContextListener接口的Listener就可以接收到事件通知,可以在内部做一些初始化工作,如加载配置文件,…

一种小资源情况下RDS数据实时同步StarRocks方案

使用一台4C8 G服务器轻松实现2个MySQL实例中通过负责分库分表规则之后的5000多张表的数据实时同步到StarRocks一、背景 目前需要将阿里云RDS数据库的数据同步到自建的StarRocks集群。之前使用DolphinScheduler通过定时调度Datax任务,将数据同步到StarRocks集群中,但是随着业务…

Elasticsearch常用查询及Kibana使用

Elasticsearch常用查询及Kibana使用 背景 搭建好Nginx => Filebeat => Logstash => Elasticsearch的日志获取通道后,通过jmeter配置产生10000条请求查看jmeter配置查看聚合报告Devtools工具进行查询查询reponseTime 90%,95%,99%分割线GET nginx-2024.11.28/_search…

Logstash安装及传输日志

Logstash安装及传输日志 Logstash安装按照官方文档安装启动logstash 方法1启动命令systemctl start logstash方法2 查看logstash启动配置先执行命令查看启动文件位置,可看出启动文件位置为/etc/systemd/system/logstash.servicesystemctl status logstash查看/etc/systemd/sys…

FileBeat安装及抽取Nginx日志

FileBeat安装及抽取Nginx日志 FileBeat安装按照官网指导安装,其他系统或版本可参考下载页面。此次测试FileBeat与nginx部署在同一台机器上。curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.25-linux-x86_64.tar.gz tar xzvf filebeat-7.17.…