РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
555 of 1593 menu

Функция filepath.Glob

Функция filepath.Glob выполняет поиск файлов и директорий, имена которых соответствуют указанному шаблону. Она возвращает срез строк с найденными путями или nil в случае ошибки. В качестве первого параметра функция принимает шаблон для поиска. Поддерживаются стандартные wildcard-символы: * для любой последовательности символов (включая пустую) и ? для одного любого символа.

Синтаксис

filepath.Glob(pattern)

Пример

Давайте найдем все файлы с расширением .txt в текущей директории:

package main import ( "fmt" "path/filepath" ) func main() { res, err := filepath.Glob("*.txt") if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) }

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

[file1.txt file2.txt data.txt]

Пример

Давайте найдем все файлы, имена которых начинаются с test и имеют любое расширение:

package main import ( "fmt" "path/filepath" ) func main() { res, err := filepath.Glob("test*.*") if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) }

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

[test.go test.txt test.exe]

Пример

Давайте найдем все файлы и директории в поддиректории data:

package main import ( "fmt" "path/filepath" ) func main() { res, err := filepath.Glob("data/*") if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) }

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

[data/config data/logs data/backup]

Пример

Давайте найдем файлы с расширением .go в текущей и всех вложенных директориях. Обратите внимание: filepath.Glob не поддерживает рекурсивный поиск. Для рекурсивного обхода используйте filepath.WalkDir:

package main import ( "fmt" "path/filepath" ) func main() { res, err := filepath.Glob("*.go") if err != nil { fmt.Println("Error:", err) return } fmt.Println(res) }

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

[main.go helper.go]

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

  • функцию filepath.WalkDir,
    которая выполняет рекурсивный обход директорий
  • функцию filepath.Match,
    которая проверяет соответствие строки шаблону
  • функцию filepath.Abs,
    которая возвращает абсолютный путь к файлу
  • функцию os.ReadDir,
    которая читает содержимое директории без поддержки шаблонов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить