embedding Files

简介

此包将任何文件转换为可管理的Go源代码。用于将二进制数据嵌入到go程序中。在转换为原始字节切片之前,文件数据可选地进行gzip压缩。

它在go-bindata子目录中附带了一个命令行工具。此工具提供一组命令行选项,用于自定义生成的输出。

目录结构

主目录embeddingFilesIntoApp

  1. —— assets
  2. —— css
  3. —— bootstrap.min.css
  4. —— favicon.ico
  5. —— js
  6. —— jquery-2.1.1.js
  7. —— bindata.go(执行命令后才会生成)
  8. —— main.go

代码示例

main.go

  1. package main
  2. import (
  3. "github.com/kataras/iris"
  4. )
  5. // 首先执行以下步骤:
  6. // $ go get -u github.com/shuLhan/go-bindata/...
  7. // $ go-bindata ./assets/...
  8. // $ go build
  9. // $ ./embedding-files-into-app
  10. // 未使用"静态"文件,您可以删除"assets"文件夹并运行该示例。
  11. // 详见 `file-server/embedding-gziped-files-into-app`
  12. func newApp() *iris.Application {
  13. app := iris.New()
  14. app.StaticEmbedded("/static", "./assets", Asset, AssetNames)
  15. return app
  16. }
  17. func main() {
  18. app := newApp()
  19. // http://localhost:8080/static/css/bootstrap.min.css
  20. // http://localhost:8080/static/js/jquery-2.1.1.js
  21. // http://localhost:8080/static/favicon.ico
  22. app.Run(iris.Addr(":8080"))
  23. }

提示

  • 先要安装github.com/shuLhan/go-bindata/…
  • 执行go-bindata ./assets/…会出现一个bindata.go文件
  • 再行main.go