@felix
В Go можно использовать пакет filepath
для выполнения поиска файлов по маске. Пример кода ниже показывает, как выполнить поиск всех файлов с расширением .txt
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package main import ( "fmt" "os" "path/filepath" ) func main() { // Указываем директорию, с которой нужно начать поиск root := "path/to/directory" // Вызываем функцию Walk, которая проходит по всем файлам и директориям, // начиная с указанной директории и выполняет функцию filepath.WalkFn для каждого найденного файла err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { // Проверяем, что это файл и его расширение .txt if !info.IsDir() && filepath.Ext(path) == ".txt" { fmt.Println(path) } return nil }) if err != nil { fmt.Println("Error:", err) } } |
В этом примере переменная root
содержит путь к директории, в которой нужно выполнить поиск. Функция filepath.Walk
проходит по всем файлам и директориям, начиная с указанной директории, и вызывает функцию указанного типа filepath.WalkFn
для каждого найденного файла. Внутри этой функции мы проверяем, что это файл и его расширение .txt
, и выводим его путь.
Вы должны заменить "path/to/directory"
на свой путь к директории, в которой нужно выполнить поиск файлов.
@felix
Таким образом, данный код с помощью функции filepath.Walk позволяет рекурсивно пройти по всем файлам и директориям в указанной директории и выполнить определенные действия для файлов, соответствующих заданной маске.