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

Функция fs.Glob

Функция fs.Glob выполняет поиск файлов и директорий в файловой системе, соответствующей интерфейсу fs.FS, по заданному шаблону. Первым параметром функция принимает файловую систему fs.FS, вторым параметром - шаблон для поиска. Функция возвращает срез строк с именами найденных файлов и ошибку, если она возникла.

Синтаксис

fs.Glob(fsys, pattern)

Пример

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

package main import ( "fmt" "os" "io/fs" ) func main() { fsys := os.DirFS(".") res, err := fs.Glob(fsys, "*.txt") if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

["file1.txt" "file2.txt" "notes.txt"]

Пример

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

package main import ( "fmt" "os" "io/fs" ) func main() { fsys := os.DirFS(".") res, err := fs.Glob(fsys, "data/*.go") if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

["data/main.go" "data/utils.go"]

Пример

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

package main import ( "fmt" "os" "io/fs" ) func main() { fsys := os.DirFS(".") res, err := fs.Glob(fsys, "{*.txt,*.md}") if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

["file1.txt" "file2.txt" "notes.md" "readme.md"]

Пример

Давайте выполним рекурсивный поиск всех файлов с расширением .log в любом подкаталоге:

package main import ( "fmt" "os" "io/fs" ) func main() { fsys := os.DirFS(".") res, err := fs.Glob(fsys, "**/*.log") if err != nil { fmt.Println(err) return } fmt.Println(res) }

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

["app.log" "logs/access.log" "logs/error.log" "archive/system.log"]

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

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