Linux 将数据文件包装到golang应用程序并在exec中使用

Linux 将数据文件包装到golang应用程序并在exec中使用,linux,go,Linux,Go,我想将一个数据文件(~1MB)包装到golang应用程序,然后在os.exec中使用该数据。该应用程序在Linux上运行 如何将应用程序中的数据定义为字符串或[]字节、变量或常量 应在全局范围内定义,或包装在func中 如何将数据从应用程序内存传递到执行的进程?要将数据文件构建到程序中,您有许多选择。您是正确的,您可以手动将数据文件复制/粘贴到程序中,作为类型string,[]byte作为变量,但是还有其他go软件包/应用程序已经为您处理了这一点,也可以最大限度地减少应用程序的内存占用。我想到的

我想将一个数据文件(~1MB)包装到golang应用程序,然后在
os.exec
中使用该数据。该应用程序在Linux上运行

如何将应用程序中的数据定义为
字符串
[]字节
、变量或常量

应在全局范围内定义,或包装在
func

如何将数据从应用程序内存传递到执行的进程?

要将数据文件构建到程序中,您有许多选择。您是正确的,您可以手动将数据文件复制/粘贴到程序中,作为类型
string
[]byte
作为变量,但是还有其他go软件包/应用程序已经为您处理了这一点,也可以最大限度地减少应用程序的内存占用。我想到的一个例子是
go bindata
(),它就是这样做的

至于在
os/exec
中使用文件,我假设您试图使用文件路径或原始字符串将整个文件传递给程序。对于文件路径,您必须首先将整个文件写入磁盘。如果您试图将整个文件内容作为原始字符串传递,您仍然可以在
os/exec.Command
中使用数据文件的
go bindata
字符串作为
arg

注意-
go bindata
已经有一段时间没有看到更新了,所以如果您在使用它时遇到问题,我鼓励您寻找更活跃的fork或替代品