[英]Cannot use lib.Const (constant 16777216 of type lib.Version) as lib.Version
我遇到了一個奇怪的錯誤。 我有這個較大的項目,可以使用典型的go build
進行良好編譯。 但是,當我切換到 TinyGo (v0.8.0) 時。 我從這段代碼中得到了上述錯誤:
func main() {
_ = lib.NewObject{
Version: lib.Const,
}
}
我更改了名稱以減少混淆,但符號完全相同。 lib.Const
是lib.Version
的常量。 指針也不是。
我知道這是一個非常具體的問題,因為它在 realm TinyGo 中。 這更像是“記錄在案”......而且我什至不得不創建“tinygo”標簽,因為這個問題非常具體。 但要添加更多細節:
tinygo build -target=wasm -o build/out.wasm src/main-wasm.go
這是編譯器的一個錯誤: https://github.com/tinygo-org/tinygo/issues/726
它源於以不同的名稱兩次導入相同的 package。 在這種情況下,它是:
// file1:
import "./lib"
// file2:
import "../lib"
以上制作了 package“lib”的 2 個實例。 使用普通 Go 編譯器時,通常可以這樣做。 但是 TinyGo 沒有適當的機制來處理這個問題。
建議將 append 到$GOPATH
以防止使用相對路徑:
// file1:
import "lib"
// file2:
import "lib"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.