登录
首页 >  Golang >  Go问答

在Go中使用go build时,了解Go模块和Windows AMD64架构的存储路径

来源:stackoverflow

时间:2024-02-21 17:39:29 494浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《在Go中使用go build时,了解Go模块和Windows AMD64架构的存储路径》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我是 go 初学者,在理解 go/pkg 文件夹方面遇到困难。根据文档的建议,它包含 pkg/mod 和 pkg/windowsamd_64。 pkg/windowsamd_64 用于存储编译后的文件。如果我有一个导入一些外部 github 模块的文件并在此基础上进行构建,会发生什么情况。

  • 它会首先进入 pkg/mod (但模块是在 pkg/windowsamd_64) 搜索外部模块
  • 它会首先进入pkg/windowsamd_64吗(然后有什么用 pkg/mod) 来搜索模块
  • 它会转到 {gopath}/src 并从那里执行某些操作
  • pkg/mod 只是一个文件夹,为什么我们称它为缓存,因为它会一直存在 填充或更好什么时候填充?

解决方案


go 命令有两种不同的定位包模式:模块模式(Go 1.11 中引入)和 GOPATH 模式(更旧)。从 Go 1.16 开始,模块模式是默认模式,如果您是 Go 新手,您可能希望只在该模式下工作。 (除非您有一个需要它的大型遗留代码库,否则在 GOPATH 模式下工作没有多大意义。)

pkg/mod 存储缓存的源代码以在模块模式下使用。当您从该模块构建包时(例如,作为某些其他包的依赖项),会自动下载该模块的给定版本的源代码。

GOPATH/src 存储在 GOPATH 模式下使用的源代码。您还可以选择在模块模式下在该目录中工作,但这是一个完全可选/美观的选择,不应更改模块模式下任何内容的行为。

pkg/windows_amd64GOPATH 模式存储已安装的软件包。然而,安装的包无论如何都不是很有用,因为 Go 有一个单独的构建缓存(即使在 GOPATH 模式下)。所以你基本上可以完全忽略pkg/windows_amd64

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《在Go中使用go build时,了解Go模块和Windows AMD64架构的存储路径》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>