首页 > 其他分享 >go mod使用小结

go mod使用小结

时间:2024-11-28 23:32:37浏览次数:9  
标签:依赖 命令 Go 模块 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.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 版本以及替换依赖。

 

 

 

 

标签:依赖,命令,Go,模块,go,小结,mod
From: https://www.cnblogs.com/zjdxr-up/p/18575457

相关文章

  • 《Django 5 By Example》阅读笔记:p383-p387
    《Django5ByExample》学习第14天,p383-p387总结,总计5页。一、技术总结1.asynchronoustask(异步任务)对于异步任务,书中使用的是celery和RabbitMQ,这也是平时工作中的主流用法。(1)celeryPython使用的celery包的名字也是celery。2.RabbitMQ(1)拉取镜像doc......
  • golang map的底层结构
    1.Map的主要结构map 的底层数据结构定义在Go源码的 runtime 包中,其核心结构体是 hmap。Go的 map 使用 哈希表 存储键值对,并结合了**桶(bucket)**机制来优化存储和查找。hmap 的主要字段count:存储的键值对数量。buckets:哈希桶的数组,存储键值对的实际数据。hash0:......
  • 在ModelArts Studio基于Llama3-8B模型实现新闻自动分类
    应用场景在数字化时代,新闻的生成与传播速度不断刷新记录。在ModelArtsStudio大模型即服务平台(下面简称为MaaS),使用Llama3-8B模型框架可以实现新闻自动分类,能够高效处理和分类大量新闻内容。该解决方案可以应用于如下场景:新闻门户网站:自动将新闻内容归类到相应板块,如科技、......
  • MongoDB Read Concern
    1.读关注(readconcern)通过readConcern选项,可以控制从副本集和分片集群读取数据的一致性和隔离属性。 通过有效使用写关注和读关注,可以适当调整一致性和可用性保证的级别,如等待更强的一致性保证,或放宽一致性要求以提供更高的可用性。 副本集和分片群集支持设置全局默认......
  • django中admin模块中修改密码的form
    django中admin模块中修改密码的form,参考这个文件在E:\django5env\Lib\site-packages\django\contrib\auth\forms.py,其中写了好几个关于form的,可以参考其验证、错误信息等方法classPasswordChangeForm(SetPasswordForm):"""Aformthatletsauserchangetheirp......
  • BEA3026 Financial Modelling
    BEA3026FinancialModellingIndividualAssignment(100%ofTotal ModuleAssessment)Released: 12:00noonon 1st November 2024SubmissionDeadline: 12:00noonon9th December2024(Late Submission PenaltiesWillApply)Length: 3,500wordswithaperm......
  • Go sync.Cond:最容易被忽视的同步机制
    Gosync.Cond:最容易被忽视的同步机制原创GoOfficialBlogGoOfficialBlog 2024年11月17日17:56中国香港1人引言在探讨Go语言中的同步机制时,大多数开发者都熟悉sync.Mutex和sync.RWMutex。然而,还有一个强大但经常被忽视的同步原语:sync.Cond。本文将详细介绍sync.......
  • golang实现比特币内核:区块链交易“transaction“二进制数据结构解析和代码实现1
    对于比特币,最重要的组成部分是交易。如果你需要通过比特币与他人交易,你可能需要像支付购买商品或服务一样,将一些比特币发送给他人。交易有四个关键字段,它们是版本、输入、输出和锁定时间。交易的二进制内容可能因不同的版本而有所不同,我们需要解析版本号以决定如何解码交易......
  • 2024-11-28:边界元素是最大值的子数组数目。用go语言,给定一个正整数数组 nums,需要找到
    2024-11-28:边界元素是最大值的子数组数目。用go语言,给定一个正整数数组nums,需要找到满足子数组中第一个和最后一个元素都是该子数组中的最大值的子数组数量。输入:nums=[1,4,3,3,2]。输出:6。解释:总共有6个子数组满足第一个元素和最后一个元素都是子数组中的最大值:......
  • Symbolic Discovery of Optimization Algorithms
    目录概Lion代码ChenX.,LiangC.,HuangD.,RealE.,WangK.,LiuY.,PhamH.,DongX.,LuongT.,HsiehC.,LuY.andLeQ.V.Symbolicdiscoveryofoptimizationalgorithms.NeurIPS,2024.概本文搜索出了一个优雅的,且经验上似乎更好的优化器:Lion.Lion......