go的包依赖管理(1): go.mod文件、简单使用

Golang 依赖管理:go.mod 文件中的版本约束 在 Golang 开发中,依赖管理是一个重要的环节。随着项目规模的扩大和依赖库的增多,如何准确地控制依赖库的版本变得至关重要。本文的目的就是详细介绍 go.mod 文件中版本约束的相关知识,范围涵盖从基本概念到实际应用的各个方面。本文首先会介绍一些相关的术语,接着引入核心概念并解释它们之间的关系,通过文本示意图和 Mermaid 流程图进行展示。然后讲解核心算法原理和具体操作步骤,给出数学模型和公式。在项目实战部分,会详细展示代码实现和解读。之后介绍实际应用场景、推荐工具和资源,分析未来趋势与挑战。 阅读详情

随便cd到一个目录(英文路径)下执行:

go mod init mytest

在这里插入图片描述
然后用编辑器打开这个目录。可以看到一个go.mod文件。

然后创建core/functions.go文件,代码如下:

package core

import "fmt"

func ShowName()  {
	fmt.Println("我的名字叫张三")
}

可以看出在functions.go中写了一个函数。

接下来我们看看在其他包中如何使用这个函数?
根目录下创建一个main.go文件,代码如下:

package main

import "fmt"
import "mytest/core"
func main() {
	fmt.Println("开始")
	core.ShowName()
}

这就实现了在main包中导入mytest模块下的core包,并调用core包中的ShowName()函数。

执行程序查看:
在这里插入图片描述

【6】解锁 Golang 项目包管理神器:go mod 本文详解 Golang 项目中 go mod 使用,涵盖初始化、依赖下载、GoLand 配置,及相关命令含义。 阅读详情

相关推荐

Golang 开发效率提升:go.mod 使用技巧分享

本文旨在帮助Golang开发者更好地理解和利用go.mod文件来管理项目依赖,提高开发效率和项目可维护性。我们将覆盖从基础到进阶的各种使用场景,包括依赖声明、版本控制、替换规则等核心功能。核心概念与联系:解释go.mod的基本概念和工作原理使用技巧详解:分步骤讲解各种实用技巧实际应用案例:通过具体项目展示技巧应用高级主题:探讨更复杂的场景和解决方案最佳实践总结:归纳go.mod使用的最佳方式go.mod: Go Modules的配置文件,记录模块路径和依赖要求模块(Module)

AI Agent Harness Engineering 878

golang编译常见的问题

(1)github资源拉取过慢: 解决:使用github代理 查找ipaddress: https://www.ipaddress.com/ip-lookup 输入:github.com 和 github.global.ssl.fastly.net 设置:C:\Windows\System32\drivers\etc\hosts文件映射 例如: 140.82.112.4 github.com 199.232.69.194 github.global.ssl.fastly.net 配置生效: ipconf

m0_38053092的博客 1501

golang版本工具GVM 和包管理工具go mod原理讲解

下载多版本golang到本地缓存,通过切换环境变量指向不同的Golang版本gvm配置路径gvm配置后的 golang 环境变量$go envGOBIN=""GOEXE=""GOFLAGS=""GOPATH="/Users/name/.gvm/pkgsets/go1.13.10/global" #路径带了版本标识: go1.13.10GOROOT="/Users/name/.gvm/gos/go1.13.10" #路径带了版本标识: go1.13.10。

kelai_6792的博客 1416

【Go报错】go go.mod file not found in current directory or any parent directory 错误解决

安装好liteide之后创建了第一个“helloworld”的golang项目,却报了如下错误。

m0_67401417的博客 4万+

告别GOPATH,如何使用go mod管理包

我们都知道在使用Golang时开发程序时都需要在 GOPATH 下面,这就非常不方便。如果你想放在磁盘上的其他地方,那么go mod将是你的“好伙伴”。 关于 go mod 的说明,可以参考: Introduction to Go Modules Go 1.11 Modules 官方说明文档 命令行说明 ➜ ~ go mod Go mod provides access to operatio...

JIAWEA的博客 1622

Golang go.mod实战:解决依赖管理难题

Go语言的依赖管理经历了GOPATH、vendor目录到Go Modules的演进,go.mod作为Go Modules的核心配置文件,解决了传统依赖管理中的版本混乱、依赖冲突、跨项目引用等难题。本文将围绕go.mod的核心功能,通过原理分析、代码实战和场景化案例,系统讲解如何利用Go Modules实现高效的依赖管理,涵盖模块初始化、依赖解析、版本控制、冲突解决、供应商锁定等关键技术点。核心概念:解析go.mod的架构设计,包括模块定义、版本规范、依赖文件结构原理剖析。

AI Agent Harness Engineering 1353

Go 语言学习:创建一个 Go 模块

原文 Tutorial: Create a Go module 文章目录写一个其他人可以使用的模块从另一个模块中使用你的代码添加测试用例编译并安装应用程序 写一个其他人可以使用的模块 一个或多个相关的包被组织成一个模块。这些包都包含一些功能类似的函数。例如,你可以创建一个模块,它包含了一些包,这些包实现了各种财务分析的函数,那么编写财务应用程序的人就可以使用这个模块。 Go 代码被组织成包,包被组织成模块。你使用的包的模块指定了 Go 运行代码所需要的上下文,它包括编写代码的Go版本及其所需的其他模块集合

alenliu's blog 5728

Java:使用Java调用打印机进行打印(JPG、PDF和Word三种文件格式)

目录 一、Java的打印简介 二、Java打印实现 2.1 JPG图片文件格式打印实现 2.2 PDF文件格式打印实现 2.3 Word文件格式打印实现 2.3.1 Word文件采用jacob插件进行打印实现。 2.3.2 先将word转化为pdf文件,然后打印pdf(lz使用) 三、总结 一、Java的打印简介 在我们的实际工作中,经常需要实现打印功能。但由于历史原因,Jav...

vatxiongxiaohui的专栏 8万+

从零基础学Go(三)——什么是Go.mod文件

Go.mod文件在go的包依赖管理中有着举足轻重的地位,在文章中我们将为此进行介绍

m0_46580983的博客 2979

影刀rpa的使用一--读取excel表格数据并循环出每一项

1、全部展示2、运行结果展示之后可以按照各自的需求对excel中取出的数据进行处理。

qq_69268437的博客 1万+

7-1 链式基数排序 (20 分)

7-1 链式基数排序 (20 分) 实现链式基数排序,待排序关键字n满足1≤n≤1000,最大关键字数位≤5。 输入样例: 第一行输入待排序个数n(1≤n≤1000),再输入n个数(n的数位≤5)。 10 278 109 63 930 589 184 505 269 8 83 输出样例: 输出每趟分配-收集后链表中的关键字,趟数为序列中最大值的数位(如样例中930的数位为3),每行结尾有空格。 930 63 83 184 505 278 8 109 589 269 505 8 109 930 63 26

OwemShu的博客 4236

关于Go语言Module的小例子

小例子A 在看两个例子之前,如果你还没有使用go module的经验,请先阅读这里 Windows中的目录结构和go.mod写法 假如我编写了个程序,我要调用自定义包(你可以理解外我上传到github.com后,就是第三方依赖了。) 我看很多人纠结的就是什么第三方包,还是自定义包。在没有go module之前,可能第三方包依赖管理不尽人意,毕竟官方也认为干净的依赖更加重要,大不了多拷贝一份不就好了...

可爱的猪窝 877

小白的MatSWMM使用心路(二)——用matlab修改INP文件参数/使用matlab查找txt内容并修改多行内容

说是修改inp,但是里面的内容大部分还是讲怎么修改txt的……(?)。包含如何找到需要的参数(关键字)位置,以及修改那个位置的txt这样的内容。希望能帮助大家吧……Matlab你要多出好用的功能啊!

weixin_44276743的博客 4530

Go go.mod详解

什么是go.mod? Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。 Go.mod其实就是一个Modules,关于Modules的官方定义为: Modules是相关Go包的集合,是源代码交换和版本控制的单元。go命令直接支持使用Modules,包括记录和解析对其他模块的依赖性。Modules替换旧的基于GOPATH...

SanfordZhu的博客 7万+

Coze工作流实战:Coze一键生成沉浸式历史故事视频

【coze工作流实战】一键生成火爆的沉浸式历史故事视频!短短3分钟,顶替你3天的工作量!

bickys的博客 1004

8位2路选择器设计

8位2路选择器设计

好好学习,天天向上 4286

依赖管理(go mod)

上部分,我们介绍了使用GOPATH的痛点:多个项目无法共享同一个GOPATH,虽然vendor仍然无法多个项目无法共享同一个GOPATH,但是它提供了一种机制,让项目的依赖隔离而不互相干扰。版本格式 v(major).(minorr).(patch)中的 major 指的是大版本,minor 指的是小版本,patch 指的是补丁版本。从GOPATH到vendor,再到Go Module,这是一个不断演进的过程,了解每代依赖管理的痛点,能够更好的明白下一代依赖管理的初衷。

2302_80067378的博客 2652

GFPS技术原理(一)-简介

GFPS(谷歌快速配对服务)利用BLE技术简化设备配对流程,相比传统方式大幅提升用户体验。首次配对时,设备广播包含型号ID和安全密钥的BLE信号,手机检测后弹出配对通知,用户点击即可完成安全连接并将设备与Google账户绑定。该技术支持跨设备同步、电量显示、找回设备等功能,后续配对更加便捷。GFPS通过BLE实现快速发现、一键配对和安全连接,结合Google后端服务提供元数据支持,已成为出海设备的认证标准。其核心优势在于简化操作步骤并增强功能性,特别适合非技术用户群体。

十多年蓝牙协议软件开发,擅长蓝牙协议分析 2061

详解Golang中的go mod以及Golang包

本文介绍了Golang中的包管理和使用。主要内容包括:1) 包的三种类型(系统内置包、自定义包和第三方包);2) Go1.11后引入的gomod包管理工具及其常用命令;3) 自定义包的创建规则和导入方式;4) init()函数的特性和执行顺序;5) 第三方包的使用流程,包括查找、安装和依赖管理。文中重点说明了如何通过gomod管理项目依赖,以及如何定义和使用自定义包,同时介绍了匿名导入和包别名等实用技巧。

m0_75163045的博客 1610

基于DINO自监督学习对YOLO11 Backbone进行预训练

这PoolHead将获取前一层的输出并应用卷积,然后应用自适应平均池化以将特征图的空间维度减小为固定且一致的大小(1x1)。这是必需的,因为否则空间维度会根据输入的大小而变化,这将使将 DINO 头部附加到主干变得困难,因为它需要固定的输入大小。在本指南中,我们将介绍如何使用 Lightly 使用 DINO 预训练 YOLO 11主干,以及如何将其重新加载到 Ultralytics 中进行微调。您可以使用不同的大小,例如,640这与 YOLO 中的默认图像大小更一致,但它也会在训练期间消耗更多 VRAM。

如果想成为中心,那么就到中心去吧。 1014

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

go mod常用命令 以及 常见问题

最近接触到go mod,网上查了查资料,这里记录一下。 1 介绍 1.1、go mod是什么 go mod 是Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。 之前Golang 主要依靠vendor和GOPATH来管理依赖库,vendor相对主流,但现在官方更提倡go mo...

zzhongcy的专栏 7万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Go语言中的依赖管理:从go mod到go work

依赖管理是Go语言开发中的一个重要方面,它可以帮助开发者管理项目的依赖关系,确保项目能够正确构建和运行。通过go mod和go work,我们可以更加有效地管理项目依赖,提高开发效率。使用语义化版本号锁定依赖版本定期更新依赖最小化依赖避免依赖冲突合理划分模块通过合理的依赖管理,我们可以开发出更加可靠、可维护的Go应用程序。依赖管理是一个持续的过程,需要我们不断学习和改进,以应对不断变化的依赖生态。

好代码自己会说话,烂代码才需要注释来圆谎 4326

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Go语言中的依赖管理:从go mod到vendor

版本控制:精确控制依赖版本,避免版本冲突可重现构建:保证每次构建都使用相同的依赖版本依赖隔离:不同项目的依赖互不影响安全性:及时更新有安全漏洞的依赖作为一个务实的后端开发者,我建议根据实际需求选择合适的依赖管理策略。在开发环境中使用go mod,在生产环境中使用vendor,确保依赖的稳定性和安全性。记住:依赖管理不是银弹,它需要定期维护和更新。我见过不少团队,依赖管理混乱,要么版本冲突,要么依赖缺失,结果构建失败。其实,依赖管理应该是软件开发的基本要求,而不是可选的功能。

好代码自己会说话,烂代码才需要注释来圆谎 4249

Go语言的依赖管理:从go mod到go work

Go语言的依赖管理从GOPATH到go mod和go work,经历了不断的发展和完善。go mod作为Go语言官方的依赖管理工具,提供了强大的版本控制和依赖解析功能,而go work则解决了多模块开发的问题。本文介绍了Go语言依赖管理的发展历程,详细讲解了go mod和go work的使用方法,以及依赖管理的最佳实践。通过掌握这些依赖管理技术,开发者可以更加高效地管理项目依赖,提高开发效率,确保项目的稳定性和安全性。依赖管理是一个持续的过程,需要开发者在开发过程中不断关注和优化。

好代码自己会说话,烂代码才需要注释来圆谎 1373

golang 通过go get | go mod download下载安装包

golang 通过go get | go mod download下载安装包 安装完golang后,输入go env可以看到 GOPATH="/home/zhongzhanhui/go" GOROOT="/usr/local/go" GOBIN="" 1.go get 参考http://c.biancheng.net/view/123.html go get命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装。整个过程就像安装一个 App 一样简单。这个命令在内部.

qq_42533216的博客 1万+

深入浅出:Go 项目依赖管理与 go mod 的使用

go mod通过本文,我们详细介绍了如何使用go mod来管理 Go 项目的依赖。go mod提供了简单易用的命令行工具,帮助我们轻松管理依赖项的添加、更新和锁定。此外,go mod还支持离线模式、替换依赖项、排除依赖项等高级功能,满足了各种复杂的开发需求。希望本文能够帮助你更好地理解和应用go mod,并在实际开发中充分发挥其优势。合理使用go mod,可以大大提高项目的可维护性和稳定性。

软件架构师笔记 1135
上一篇: 简易FailOver机制: 普通轮询算法下的计数器机制(上)
下一篇: 创建一个最简单的mysql代理
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值