Функция filepath.FromSlash
Функция filepath.FromSlash преобразует все слеши (/) в строке пути
в разделитель, принятый в текущей операционной системе.
В Windows слеши заменяются на обратную косую черту (\), а в Unix-подобных
системах строка остается без изменений, так как разделителем там является слеш.
Функция принимает один параметр — строку пути, и возвращает преобразованную строку.
Это полезно при работе с путями, полученными из внешних источников,
или при написании кроссплатформенного кода.
Синтаксис
filepath.FromSlash(path)
Пример
Давайте преобразуем путь со слешами в системный разделитель в Windows-окружении:
package main
import (
"fmt"
"path/filepath"
)
func main() {
path := "dir/subdir/file.txt"
res := filepath.FromSlash(path)
fmt.Println(res)
}
Результат выполнения кода (на Windows):
"dir\\subdir\\file.txt"
Пример
Давайте преобразуем путь со слешами в системный разделитель в Unix-подобном окружении:
package main
import (
"fmt"
"path/filepath"
)
func main() {
path := "dir/subdir/file.txt"
res := filepath.FromSlash(path)
fmt.Println(res)
}
Результат выполнения кода (на Linux или macOS):
"dir/subdir/file.txt"
Пример
Давайте обработаем путь, который уже содержит системные разделители. Функция заменяет только слеши, остальные символы остаются без изменений:
package main
import (
"fmt"
"path/filepath"
)
func main() {
path := "dir\\subdir/file.txt"
res := filepath.FromSlash(path)
fmt.Println(res)
}
Результат выполнения кода (на Windows):
"dir\\subdir\\file.txt"
Смотрите также
-
функцию
filepath.ToSlash,
которая преобразует системные разделители в слеши -
функцию
filepath.Join,
которая соединяет элементы пути с правильным разделителем -
функцию
filepath.Clean,
которая нормализует путь и удаляет лишние разделители -
функцию
filepath.Abs,
которая возвращает абсолютный путь с правильными разделителями