go是否有无法在其他操作系统上使用的操作系统特定软件包



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

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

  • https://github.com/natefinch/npipe

  • https://github.com/Microsoft/go-winio(我找不到任何关于这个包的文档、帮助、如何使用(

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

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

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

在我看来,为了编写既能在Linux上工作又能在Windows上工作的东西,必须切换系统是非常不方便的。。。尽管我想只有当我们在Linux上开发时,这才是真的,而Windows应该同时涵盖这两个方面。

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

我是不是遗漏了什么?

谢谢

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

正如README所说,它在alpha中,不稳定,回购中列出了已知的问题,这似乎是我困惑的根源。

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

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

相关内容

最新更新