【发布时间】:2019-06-15 07:09:44
【问题描述】:
go build 是否包含代码中使用的其他支持文件并与 exe 一起提供?
例如:
--> input.go - contains go code to read input from text file
--> inpdata.txt
当我们执行go build 时,inpdata.txt 文件是否也会发送?
如果排除了这些支持文件,它们如何获取从外部文件提供的输入值?
我正在尝试使用 Golang 构建一个二进制文件(exe 文件恰好用于 win-OS)。
在阅读了一些文档后可以清楚地理解为win-OS生成exe文件的go build命令忽略了_test.go文件和所有tesdata文件夹。
在文档中也提到了go build binary package,提到这仅适用于非源文件。
【问题讨论】:
-
在您的示例中,
inpdata.txt不包含在输出二进制文件中。假设您的程序通过ioutil.ReadAll("./inpdata.txt")读取inpdata.txt,当您的二进制文件运行时,您的程序实际上会查找<current working directory>/inputdata.txt"。<current working directory>通常是您运行程序的地方。所以你需要确保你的inputdata.txt在你的二进制文件旁边。 -
@LiyangChen 有没有办法将 inpdata.txt 包含到二进制文件中?用例:假设我将这个二进制文件发送到某个地方,我如何确保 inpdata.txt 始终存在,而不将所有必需的资源文件显式传递给服务器?
标签: go