在go
中,我不能称自己是绝对的初学者,而且我绝对不是专家。
今天,我注意到了一些非常令人困惑的地方。我正在尝试使用Unix套接字和Windows命名管道,并且从我的研究中,有2个支持Windows命名管道的软件包:
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上开发的最佳环境(当然,与Apple相关的代码除外)
我在这里想念东西吗?
谢谢
答案 0 :(得分:0)
因此,我认为我的问题实际上涉及更多的工具,而不是go
语言本身。如果您选择使用go
语言服务器,则gopls
是VSCode使用的工具。
正如README
所说的那样,它位于alpha
中并且不稳定,并且回购中列出了known issues,这似乎是我感到困惑的原因。
我认为与我所见相关的主要问题是: