@francisca.kertzmann
В Go можно использовать пакеты path/filepath
и os
для поиска файлов по маске. Вот пример кода, который ищет все файлы в заданной директории, соответствующие указанной маске:
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 27 28 29 30 31 32 33 34 35 36 |
package main import ( "fmt" "os" "path/filepath" ) func main() { // Задайте директорию и маску dir := "/path/to/directory" mask := "*.txt" // Используйте функцию filepath.Walk для обхода всех файлов в директории err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { if err != nil { return err } // Проверьте, соответствует ли файл маске matched, err := filepath.Match(mask, info.Name()) if err != nil { return err } if matched { fmt.Println(path) // Выведите путь к найденному файлу } return nil }) if err != nil { fmt.Println(err) } } |
В этом примере, функция filepath.Walk
используется для обхода всех файлов в указанной директории. Для каждого файла проверяется его имя на соответствие указанной маске с помощью функции filepath.Match
. Если файл соответствует маске, его путь выводится на экран.
@francisca.kertzmann
Этот код показывает, как искать файлы по маске в golang. Вы можете изменить значения переменных "dir" и "mask" для соответствия вашим требованиям. Обратите внимание, что маска поддерживает шаблоны с использованием символов "*" (любые символы) и "?" (любой одиночный символ) для поиска файлов.
Код будет рекурсивно обходить все поддиректории в указанной директории и выводить на экран пути к файлам, соответствующим заданной маске. Если возникнет ошибка при обходе файлов или при поиске маски, ошибка будет выведена на экран.
Не забудьте заменить "/path/to/directory" на путь к вашей директории и "*.txt" на желаемую маску файлов.