关于golang:GOgo-bindata

go-bindata是目前程序pugo在用的嵌入动态资源的工具。它能够把动态文件嵌入到一个go文件中,并提供一些操作方法。

go-bindata -o=app/asset/asset.go -pkg=asset source/... theme/... doc/source/... doc/theme/...
-o 输入文件到 app/asset/asset.go,包名 -pkg=asset,而后是须要打包的目录,三个点包含所有子目录。这样就能够把所有相干文件打包到asset.go 且结尾是package asset放弃和目录统一。

示例

step1: 装置 go-bindata

D:\study\myGin> go get -u github.com/jteeuwen/go-bindata/...

step2: 写go文件

package main

import (
   "myGin/handler"
)

//go:generate go-bindata -o=assets/tpl_gen.go -pkg=assets tpl/...
//-o 输入文件到assets/tpl_gen.go,包名 -pkg=assets,而后是须要打包的目录,三个点包含所有子目录。这样就能够把所有相干文件打包到 asset.go 且结尾是 package asset 放弃和目录统一。

func main() {
   handler.InitHandlers()
}

step3: 产生文件

D:\study\myGin> go generate

step4: 应用形式

func GetAllStaticFileNames() {
   names := assets.AssetNames()
   for _, name := range names {
      fmt.Println("name=", name)
      rBytes, _ := assets.Asset(name)
      fmt.Println("rBytes=", rBytes)
   }
}

参考资料

Go内嵌动态资源go-bindata的装置及应用

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理