Go打包静态资源文件

本文介绍了如何使用go-bindata将资源文件打包为Go源码,包括安装、简单应用和进阶用法,如指定生成文件位置、忽略文件和自动生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

采用go-bindata来打包资源文件为go源码文件

GitHub地址:https://github.com/go-bindata/go-bindata

1. 安装

go get -u github.com/go-bindata/go-bindata/...

...是指编译安装go-bindata目录下的所有的main函数

2. 简单实用

# 打包config目录下所有文件
go-bindata config/

# 打包config.yaml 文件
go-bindata config.yaml

命令会生成一个 bindata.go 文件,我们项目中使用该文件即可,注意:默认生成的package为main

bindata.go

package bindata

// Asset 根据文件名读取文件内容的 []byte,出错返回 error
func Asset(name string) ([]byte, error) {
   
   /*...*/}

// MustAsset 跟 Asset 的区别只在于出错不返回 error ,直接 panic
func MustAsset(name