Go 模块与包
最近发现不少小伙伴都对Golang很感兴趣,所以今天继续给大家介绍Golang相关的知识,本文《Go 模块与包》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~
问题内容刚刚开始了解 Go 模块。我有一个关于在同一模块中导入本地包的问题。我正在查看的示例是这个存储库:
https://github.com/Azure/azure-service-bus-go
该模块是 module github.com/Azure/azure-service-bus-go
。该模块内有一个单独的包 atom
(但它本身不是一个模块)。
当主包中的文件导入atom时,它们会这样做: import "github.com/Azure/azure-service-bus-go/atom"
-- 请参阅 queue_manager.go
作为示例。
我不太明白——GO 如何知道查看本地 Atom 包,而不是 Github 上的包?让我感到困惑的是,正在修改的模块的一部分是由远程/绝对 URI 引用的。是否可以保证,如果我修改本地磁盘上的文件并构建,我实际上引用的是最新版本,而不是已经推送的版本?
作为一个玩具练习,我尝试创建一个具有不存在的 Github URI 的模块,事实上 go mod tidy
试图在 Github 上查找该模块,尽管本地副本实际上存在
解决方案
- 模块是 Go 包的集合。
- 包是 .go 文件的目录。使用包,您可以组织您的 代码转换成可重用的单元。
- 我们可以添加模块到go项目中或者升级模块版本。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Go 模块与包》文章吧,也可关注编程网公众号了解相关技术文章。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341