【GO】静的ファイルを含めた実行ファイル作成


GOでos.Open()などを使って静的なファイルをロードすることは多い。

この場合、ビルドした実行ファイルと一緒に静的コンテンツを配る必要がある。

またgopherjsでjavascript化すると開くことができない。

 

バイナリ化してしてコードに含めると実行ファイルに含められるが、面倒なうえにサイズが非常に大きくなってしまう。

go-assets-builderを使うとどちらも解決したので、使用方法などメモ。

 

まずはビルダーを使わずにバイト化してみます。

何も考えずバイト配列にして変数に入れています。

普通に使えますが複数ファイルを対象にするのは面倒だし、容量が6倍ほどになりました。

 

そこでgo-assets-builderを使います。

複数ファイルの場合は末尾に追加していくだけです。

 

メインのソース側ではfileのように扱うことが可能です。

 

単純にバイト化した場合の半分(元ファイルの3倍)の容量でした。

gopherjsで使うこともできたので軽いファイルを扱う時にはこれが一番良さそう。


コメントを残す

メールアドレスが公開されることはありません。