我花了一整天的时间尝试在我的代码中应用构建约束:我有一个专为在 Windows 和 Linux 上工作而设计的代理,但是,我必须与 Windows 注册表进行交互(这显然在 Linux 上没有任何等效项).
我的包裹进口
“golang.org/x/sys/windows/registry”
该项目基于 Windows 而不是 Linux。然后我了解了构建约束://go:build windows (or !linux) 我最初是从 // +build windows 开始的,但我看到它适用于旧的 Go 版本。
这是我的包文件的标题:
//go:build windows
package utils
import (
"fmt"
"log"
"golang.org/x/sys/windows/registry"
)
...
我在 Windows 和 Linux 上都使用 VSCode,我也可以在我的 go.mod 文件中看到对的引用。请问有什么帮助吗?
当我运行上面的代码时,我仍然在 Linux 上得到以下信息:
构建 golang.org/x/sys/windows/registry:无法加载 golang.org/x/sys/windows/registry:没有 Go 源文件(退出状态 1)
编辑:我使用默认的 VSCode 工具来编译和运行我的项目,但是我已经尝试过: go build 。我仍然得到同样的错误。此外,_windows.go 和 _linux.go 后缀也不合适,因为代理将来会出现在 Mac 之前。
慕码人2483693
慕莱坞森
随时随地看视频慕课网APP
相关分类