Константа filepath.Separator

Константа filepath.Separator содержит символ-разделитель, который используется в путях файловой системы для текущей операционной системы. В Unix-подобных системах (Linux, macOS) это символ '/', а в Windows - '\\'. Данная константа помогает создавать кроссплатформенный код, который корректно обрабатывает пути к файлам независимо от ОС. При использовании этой константы не нужно задумываться о том, какой разделитель используется в системе - Go автоматически подставит правильный символ.

Синтаксис

gofilepath.Separator

Пример

Давайте выведем разделитель, используемый в текущей системе:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  sep := filepath.Separator
  fmt.Printf("Разделитель: %q\n", sep)
}

Результат выполнения кода в Unix-подобной системе:

go"Разделитель: '/'"

Пример

Давайте создадим путь к файлу с использованием константы filepath.Separator:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  dir := "home"
  user := "user"
  file := "data.txt"

  path := dir + string(filepath.Separator) +
    user + string(filepath.Separator) +
    file

  fmt.Println(path)
}

Результат выполнения кода в Unix-подобной системе:

go"home/user/data.txt"

Пример

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

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  char := '/'
  isSep := char == filepath.Separator
  fmt.Println(isSep)
}

Результат выполнения кода в Unix-подобной системе:

gotrue

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

gofalse

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

  • функцию filepath.Join,
    которая объединяет элементы пути с правильным разделителем
  • функцию filepath.FromSlash,
    которая заменяет слэши на разделитель ОС
  • функцию filepath.ToSlash,
    которая заменяет разделитель ОС на слэши
  • функцию filepath.SplitList,
    которая разделяет список путей с учетом ОС