Функция filepath.SplitList

Функция filepath.SplitList разбивает строку, содержащую список путей, на отдельные элементы. В качестве разделителя используется символ, определенный для текущей операционной системы: : для Windows и ; для Unix-подобных систем. Функция принимает один параметр - строку со списком путей, и возвращает срез строк, содержащий отдельные пути.

Синтаксис

gofilepath.SplitList(paths)

Пример

Давайте разобьем строку со списком путей на отдельные элементы в операционной системе Windows:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  paths := "C:\\Program Files\\Go;C:\\Users\\User\\Documents"
  res := filepath.SplitList(paths)
  fmt.Println(res)
}

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

go["C:\\Program Files\\Go" "C:\\Users\\User\\Documents"]

Пример

Давайте разобьем строку со списком путей на отдельные элементы в операционной системе Unix:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  paths := "/usr/local/bin:/usr/bin:/bin"
  res := filepath.SplitList(paths)
  fmt.Println(res)
}

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

go["/usr/local/bin" "/usr/bin" "/bin"]

Пример

Давайте обработаем строку с одним путем, в которой нет разделителей:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  paths := "/usr/local/bin"
  res := filepath.SplitList(paths)
  fmt.Println(res)
}

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

go["/usr/local/bin"]

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

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