gpt4 book ai didi

go - 无法将lib.Const(类型为lib.Version的常数16777216)用作lib.Version

转载 作者:行者123 更新时间:2023-12-01 22:37:24 26 4
gpt4 key购买 nike

我遇到了一个奇怪的错误。我有一个较大的项目,可以使用典型的go build很好地进行编译。但是,当我切换到TinyGo(v0.8.0)时。我从以下代码中得到上述错误:

func main() {

_ = lib.NewObject{
Version: lib.Const,
}
}

我更改了名称,以减少混乱,但是符号完全相同。 lib.Constlib.Version的常量。指针也不是。

我理解这是一个非常具体的问题,因为它在TinyGo领域中。这更多是为了“记录”……加上我什至不得不创建“​​ tinygo”标签,因为这个问题是如此具体。但要补充更多细节:
  • 在添加以上代码之前,它已经进行了编译。
  • 确切的构建命令是tinygo build -target=wasm -o build/out.wasm src/main-wasm.go
  • 最佳答案

    这是编译器的错误:https://github.com/tinygo-org/tinygo/issues/726

    它源于以相同的名称两次导入同一程序包。在这种情况下,它是:

    // file1:
    import "./lib"

    // file2:
    import "../lib"

    上面给出了包“lib”的2个实例。当使用普通的Go编译器时,通常可以这样做。但是TinyGo没有适当的机制来处理此问题。

    建议附加到 $GOPATH以防止使用相对路径:
    // file1:
    import "lib"

    // file2:
    import "lib"

    关于go - 无法将lib.Const(类型为lib.Version的常数16777216)用作lib.Version,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58871108/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com