Константа filepath.Separator
Константа filepath.Separator содержит символ-разделитель,
который используется в путях файловой системы для текущей
операционной системы. В Unix-подобных системах (Linux, macOS)
это символ '/', а в Windows - '\\'. Данная
константа помогает создавать кроссплатформенный код,
который корректно обрабатывает пути к файлам независимо
от ОС. При использовании этой константы не нужно
задумываться о том, какой разделитель используется
в системе - Go автоматически подставит правильный
символ.
Синтаксис
filepath.Separator
Пример
Давайте выведем разделитель, используемый в текущей системе:
package main
import (
"fmt"
"path/filepath"
)
func main() {
sep := filepath.Separator
fmt.Printf("Разделитель: %q\n", sep)
}
Результат выполнения кода в Unix-подобной системе:
"Разделитель: '/'"
Пример
Давайте создадим путь к файлу с использованием константы
filepath.Separator:
package 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-подобной системе:
"home/user/data.txt"
Пример
Давайте проверим, является ли определенный символ разделителем пути в текущей системе:
package main
import (
"fmt"
"path/filepath"
)
func main() {
char := '/'
isSep := char == filepath.Separator
fmt.Println(isSep)
}
Результат выполнения кода в Unix-подобной системе:
true
Результат выполнения кода в Windows:
false
Смотрите также
-
функцию
filepath.Join,
которая объединяет элементы пути с правильным разделителем -
функцию
filepath.FromSlash,
которая заменяет слэши на разделитель ОС -
функцию
filepath.ToSlash,
которая заменяет разделитель ОС на слэши -
функцию
filepath.SplitList,
которая разделяет список путей с учетом ОС