-4

我不能称自己是绝对的初学者go,而且我绝对不是专家。

今天,我注意到一些非常令人困惑的事情。我正在试验 Unix 套接字和 Windows 命名管道,根据我的研究,有 2 个包支持 Windows 命名管道:

我的操作系统是 Linux,我决定试一试:go get软件包,并编写代码以便稍后在 Windows 机器上进行测试,但令我惊讶的是,至少在 VSCode 中,这些软件包无法被工具。

例如,当我查看它时npipe,我看到它只有npipe_windows.go,如果我没记错的话,它应该会自动在 Windows 上使用。

所以,我认为 Go 中有特定于操作系统的包的概念,对吧?如果是这样,这是否意味着我不能使用例如 VSCode 的 go 工具来针对 Linux 上的 Windows 包进行编码?

在我看来,为了编写可以在 Linux 和 Windows 上运行的东西而不得不切换系统是非常不方便的……尽管我想这只有在我们在 Linux 上开发时才是正确的,而 Windows 应该涵盖两者。

但对我来说,不能在Linux上开发东西是没有意义的;在 IMHO 上开发的最佳环境(当然与 Apple 相关的代码除外)

我在这里错过了什么吗?

谢谢

4

1 回答 1

0

所以,我认为我的问题实际上更多地涉及工具而不是go语言本身。gopls是选择使用go语言服务器时 VSCode 使用的工具。

正如 threREADME所说,它处于alpha不稳定状态,并且回购中列出了已知问题,这似乎是我困惑的根源。

我认为与我所看到的有关的主要问题是:

x/tools/gopls:不处理构建标签

于 2019-11-01T13:50:33.783 回答