объединить пути с разделителем обратной косой черты, не зависящим от лежащего в основе ОС, со стандартной библиотекой - PullRequest
2 голосов
/ 28 июня 2019

filepath.Join позволяет объединять пути, используя разделитель пути лежащего в основе os (в основном \ в Windows, / везде).

Есть ли способ принудительно использовать разделитель путей Windows \ для объединения путей со стандартной библиотекой Go независимо от того, какая на самом деле запущенная операционная система?

1 Ответ

3 голосов
/ 28 июня 2019

Нет, не в стандартном пакете path/filepath.Вместо этого вы должны использовать strings.Join().

Если вы полагаетесь на «побочные эффекты» filepath.Join() (например, добавление разделителя при необходимости, вызовClean() и т. Д.), Тогда проще всего вызвать filepath.Join(), затем заменить косые черты обратными слешами, например, используя strings.ReplaceAll().

Обратите внимание, что метод replace-all работает, потому чтокосая черта / является зарезервированным символом и не может появляться в именах, отличных от разделяющих папок и файлов.Подробнее см. Имена файлов, путей и пространств имен .

См. Связанный filepath.Join удаляет точку .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...