go - 如果 golang 文件依赖于 Asset 函数,如何构建它

标签 go compiler-errors

我有以下 Golang 文件:

**main.go**

func indexPage(w http.ResponseWriter, r *http.Request) {
    var (
        data []byte
        err  error
    )
    if ExtAssetDir == "" {
        data, err = Asset("index.html")
    } else {
        var f *os.File
        f, err = os.Open(ExtAssetDir + "/index.html")
        data, err = ioutil.ReadAll(f)
    }

它依赖于 Assets 包/功能。在构建 main.go 时如何包含该( Assets )依赖项。当我构建 ma​​in.go 时出现以下错误

.\main.go:30:15: undefined: Asset

.\main.go:35:13: undefined: AssetInfo

最佳答案

看起来像 go-bindata .这是一个代码生成器。您必须下载该工具并运行它。

您的项目可能有一个 go generate 脚本、Makefile 或 bash 脚本来运行命令。否则,请阅读 go-bindata 的自述文件以了解如何正确生成文件。它应该创建一个将静态文件编码到其中的 go 文件。

一旦您运行它,它将在一个新文件中生成您的 Asset 函数,以便您进行编译。

关于go - 如果 golang 文件依赖于 Asset 函数,如何构建它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47822382/

相关文章:

function - 缺少顶级功能的实现

tcp - 在 golang 中,如何使用 net.TCPConn 在不事先指定字节 slice 长度的情况下进行读取?

go - 为什么不是 uint32 而不是 int64?

go - 在 automigrate GORM 中跳过一个字段

go - 如何将字符串从接口(interface)转换为golang中的[]字符串?

c# - 如果多个成员具有相同的属性,如何抛出编译器错误

macos - 如何在 os x、centos 6 上构建 goncurses

java - 编译器找不到类 Files 的方法

QTimer : class has no constructors

java - 尝试从 github (windows) 编译 java 项目时出错