一尘不染

“ go”工具安装可执行文件后如何访问资源文件?

go

让我们假设运行go install -v importpath会生成一个可执行文件并将其安装到中$GOPATH/bin/program。该go工具无法安装资源文件。当我运行时program,我希望它访问.NET下的一些资源文件$GOPATH/src/importpath

从已安装的可执行文件访问此类资源文件的最佳方法是什么?


阅读 215

收藏
2020-07-02

共1个答案

一尘不染

这个问题已经被问 时间细末坚果邮件列表上。该go工具目前不提供直接的方式来分配其他资源。但是,有两种解决方法:

  • 编写一个简单的脚本(awk就足够了)以将任何文件转换为.go仅包含单个字符串常量的文件,并将该文件直接嵌入二进制文件中。例如,Camlistore项目使用这种方法(camlistored / ui / fileembed.go)。go-bindata做类似的事情。

  • go-tour和许多其他项目当前正在使用软件包的导入功能go/build来搜索其中src/列出的所有文件夹,$GOPATH$GOROOT找到软件包源的正确路径。范例:http : //code.google.com/p/go-tour/source/browse/gotour/local.go?r=996704f8ef9e63949b3bc4d94b613ec4a7b5d99a#53

2020-07-02