Goでファイル系のリソースも一緒にビルドして配布しちゃう! - hatappiのブログ

こういうエントリがはてブに上がってた。

Remove go-bindata by wjkohnen · Pull Request #1675 · avelino/awesome-go
Remove go-bindata (#1675) · avelino/awesome-go@6cf3360
つい先日 go-bindata はメンテナンスされていないという理由で Awesome Go から削除されたので、今後は使わない方がよいと思う。

じゃあ、何を使えばいいかというと自分の場合は jessevdk/go-assets: Simple embedding of assets in go を使用している。 jessevdk/go-assets-builder: Simple assets builder program for go-assets を使って go ソースを生成し、Assets.Open 経由で取得できる。ファイルシステムとしてのインターフェースを持っているので ReadName などが直接使えるので便利。

$ go-assets-builder assets > assets.go
f, err := Assets.Open("/assets/template.tmpl")
if err != nil {
  return err
}
defer f.Close()
fmt.Println(f.Name())

みたいな感じで使う。