Функция filepath.ToSlash

Функция filepath.ToSlash преобразует разделители пути в косую черту (/). Это особенно полезно при работе с путями в Windows, где по умолчанию используется обратная косая черта (\). Функция принимает один параметр - строку пути и возвращает преобразованную строку с замененными разделителями.

Синтаксис

gofilepath.ToSlash(path)

Пример

Давайте преобразуем путь Windows с обратными слешами в путь с прямыми слешами:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  path := "C:\\Users\\user\\Documents\\file.txt"
  res := filepath.ToSlash(path)
  fmt.Println(res)
}

Результат выполнения кода:

go"C:/Users/user/Documents/file.txt"

Пример

Проверим, как функция обрабатывает путь с уже существующими прямыми слешами:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  path := "/home/user/documents/file.txt"
  res := filepath.ToSlash(path)
  fmt.Println(res)
}

Результат выполнения кода:

go"/home/user/documents/file.txt"

Пример

Рассмотрим смешанный случай, когда в пути присутствуют оба типа разделителей:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  path := "C:\\Users/user\\Documents\\file.txt"
  res := filepath.ToSlash(path)
  fmt.Println(res)
}

Результат выполнения кода:

go"C:/Users/user/Documents/file.txt"

Смотрите также

  • функцию filepath.FromSlash,
    которая выполняет обратное преобразование - заменяет прямые слеши на системные разделители
  • функцию filepath.Join,
    которая объединяет элементы пути с использованием системного разделителя
  • функцию filepath.Clean,
    которая нормализует путь, удаляя лишние разделители и элементы
  • функцию filepath.Split,
    которая разделяет путь на директорию и имя файла