这可能是一个非常业余的问题。我正在尝试将静态文件嵌入到二进制文件中,即。html。我如何使用https://github.com/jteeuwen/go-bindata做到这一点?
因此,我可以使用此https://github.com/jteeuwen/go-bindata#accessing-an-asset访问资产,但是我如何处理“数据”,以及如何解析文件、执行模板和在目录中为他们服务?
我在网上找不到任何例子,希望得到一些帮助!
5/6 年后,Go 1.16(2021 年第一季度)应该会更容易,它增加了对嵌入文件的支持(问题/提案 41191)
允许使用
//go:embed
命名单个文件来初始化普通string
或[]byte
变量:
//go:embed gopher.png
var gopherPNG []byte
Run Code Online (Sandbox Code Playgroud)
导入需要将文件标记为包含//go:embed
行并需要处理。
Goimports
(gopls
等)可以教授此规则,并//go:embed
根据需要自动在任何文件中添加导入。
这引发了关于issue 42328关于如何避免在使用时意外包含“隐藏”文件的辩论//go:embed
这已在CL 275092 中解决并提交 37588ff
决定排除文件匹配
.*
和_*
嵌入整个目录树时从嵌入目录的结果。
看 src/embed/internal/embedtest/embed_test.go
//go:embed gopher.png
var gopherPNG []byte
Run Code Online (Sandbox Code Playgroud)
注意:对于CL 281492,如果支持,则cmd/go
传递embedcfg
到gccgo
。
参见(2021年1月)发行43854 “选择将其//go:embed
以不忽略文件和空迪尔斯”。
归档时间: |
|
查看次数: |
5286 次 |
最近记录: |