Функция filepath.Ext

Функция filepath.Ext извлекает расширение файла из указанного пути. Расширением считается суффикс, начинающийся с последней точки в последнем элементе пути. Если точки в последнем элементе нет, функция возвращает пустую строку. В первый параметр мы передаем путь к файлу в виде строки.

Синтаксис

gofilepath.Ext(path string) string

Пример

Давайте извлечем расширение из пути к файлу "/home/user/document.txt":

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  res := filepath.Ext("/home/user/document.txt")
  fmt.Println(res)
}

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

go".txt"

Пример

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

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  res := filepath.Ext("/home/user/README")
  fmt.Println(res)
}

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

go""

Пример

Давайте извлечем расширение из пути, где в имени файла встречается несколько точек:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  res := filepath.Ext("/home/user/archive.tar.gz")
  fmt.Println(res)
}

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

go".gz"

Пример

Давайте извлечем расширение из пути, где точка присутствует в имени директории, но файл не имеет расширения:

gopackage main

import (
  "fmt"
  "path/filepath"
)

func main() {
  res := filepath.Ext("/home/user.v2/document")
  fmt.Println(res)
}

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

go""

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

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