Есть ли пакеты для ОС, которые нельзя использовать в другой ОС? - PullRequest
0 голосов
/ 01 ноября 2019

Я не могу назвать себя абсолютным новичком в go, и я определенно не эксперт.

Сегодня я заметил нечто ОЧЕНЬ сбивающее с толку. Я экспериментировал с сокетами Unix и именованными каналами Windows, и из моего исследования есть 2 пакета, которые поддерживают именованные каналы Windows:

Моя ОС - Linux, и я решил дать ейПройдите: go get пакет (ы) и напишите код для последующего тестирования на компьютере с Windows, но, к моему удивлению, по крайней мере в VSCode, эти пакеты не распознаются инструментом.

Когда я смотрю, например, npipe, я вижу только 1022 *, который, если я не ошибаюсь, должен автоматически использоваться в Windows.

Итак, я думаю, что естьконцепция OS-специфичных пакетов в Go, верно? А если так, значит ли это, что я не могу использовать, например, инструменты go VSCode для кодирования пакетов Windows в Linux?

Что, на мой взгляд, было бы крайне неудобно для переключения систем, чтобынапишите что-нибудь, что работает как в Linux, так и в Windows ... Хотя я думаю, что это верно только в том случае, если мы разрабатываем для Linux, и Windows должна охватывать оба варианта.

Но для меня это не имеет смысла НЕуметь что-то разрабатывать на Linux ;лучшая среда для разработки на IMHO (кроме, конечно, связанного с Apple кода)

Я что-то здесь упускаю?

Спасибо

1 Ответ

0 голосов
/ 01 ноября 2019

Итак, я думаю, что мой вопрос на самом деле включает в себя больше инструментов, чем сам язык go. gopls - это инструмент, используемый VSCode, если вы решите использовать языковой сервер go.

Как говорит тр README, он находится в alpha и не стабилен, ив репозитории перечислено известных проблем , которые, по-видимому, являются источником моих недоразумений.

Я думаю, что главная проблема, связанная с тем, что я вижу, это:

x / tools / gopls: не обрабатывает теги сборки

...