Go模块: main. go文件在go构建后被覆盖

标签 go build dependencies go-modules

我遇到了一个奇怪的问题,即在使用 go 模块销售我的依赖项之后,go build 命令用随机数据覆盖了 main.go 文件。

文件的开头是这样的:

����
H
H__PAGEZEROx__TEXTpxpx__text__TEXT��7�__rodata__TEXT��7Y��7__symbol_stub1__TEXT�V��V�__typelink__TEXT�V�(�V__itablink__TEXTP@V�
P@V__gosymtab__TEXT�JV�JV__gopclntab__TEXTKV
"KV�__DATApx�|px c
__nl_symbol_ptr__DATApx�pxs__noptrdata__DATA�sx���sx__data__DATA�&{���&{__bss__DATA �{��__noptrbss__DATA�}�2__DWARF�}�{��   __zdebug_abbrev__DWARF�}�{__zdebug_line__DWARF�}'W�{__zdebug_frame__DWARF;H���;8�__zdebug_pubname__DWARF�څ�K�ʃ__zdebug_pubtype__DWARF�&����__debug_gdb_scri__DWARF��6�ӄ__zdebug_info__DWARF���
�ӄ__zdebug_loc__DWARF䉑��y�__zdebug_ranges__DWARFU��ZE�H__LINKEDIT�}L���L��*�����,�r���Pu,u,x,xo�� /usr/lib/dyld8/usr/lib/libSystem.B.dylibh/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation`/System/Library/Frameworks/Security.framework/Versions/A/Security$

� Go build ID: "OLftMbjtv5aWMkI_0qrD/LhWRtD0wcaKFWRYSDOa9/7dFWcNOQ4BpWWqZQW07D/pkR9ABiz-SHIBaJIZ1ur"
 ����������UH��AWAVATSH���=|I��

Go版本:go版本go1.12.5 darwin/amd64

使用 export GO111MODULE=on 启用 Go 模块

文件夹结构: go.mod go.sum log.go main.go vendor

仅供引用:只有 main.go 被覆盖,没有 log.go。

使用 go mod init 初始化 Go 模块

应用程序由 go mod vendor 供应

不确定我是否做错了什么。感谢您的帮助。

最佳答案

模块名称不应该是 main.go,因为它是包中的一个文件。请在 go mod init 中使用您的项目名称作为模块名称。

例如,如果您的项目根目录是 hello,请将您的包命名为 hello,而不是 main.go。 此外,如果您想反复使用该模块,请考虑使用您的存储库名称作为模块名称。

Go 处理包而不是单个文件。 Go 模块用于组织包。了解更多 official documentation

关于Go模块: main. go文件在go构建后被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56716040/

相关文章:

go - 在推断出 GOPATH 时运行(安装)go 代码

pointers - golang 指针上的指针作为函数参数

python - 在 golang 中接收 pickled 流

go - JITed LLVM 代码如何回调到 Go 函数中?

android - 为 android 构建时出现 Qt 错误

swift - Swift 源文件的构建规则

ios - Xcode 导出本地化抛出错误 "Argument list too long"

php - 具有依赖项的可测试 Controller

ruby-on-rails-3 - Rails Engine - Gems 依赖项,如何将它们加载到应用程序中?

Android Gradle 从 APK 中排除 jar