GOgo bindata

Posted 一曲长歌一剑天涯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的安装及使用

以上是关于GOgo bindata的主要内容,如果未能解决你的问题,请参考以下文章

Let‘s GoGo语言入门篇

Let‘s GoGo语言入门篇

GOgo.mod

go runtime其他函数 gogo, goexit

gogo国内镜像

GOgo json 操作