Найти тему
1,9K подписчиков

Golang. Выводим список всех файлов (рекурсивно) в каталоге

228 прочитали
Список каталогов Используйте функцию ioutil.ReadDir из пакета io/ioutil. Она возвращает отсортированный список, содержащий элементы типа os.FileInfo.

Список каталогов

Используйте функцию ioutil.ReadDir из пакета io/ioutil. Она возвращает отсортированный список, содержащий элементы типа os.FileInfo.

Код в этом примере выводит отсортированный список всех имен файлов в текущем каталоге.

Пример вывода:

dev
etc
tmp
usr

Выводим все файлы и папки в дереве каталогов

Используйте функцию filepath.Walk в пути к path/filepath.

Метод проходит по дереву файлов, вызывая функцию типа filepath.WalkFunc для каждого файла или каталога в дереве, включая корневой каталог.

Код в этом примере перечисляет все пути и размеры всех файлов и каталогов в дереве файлов, корнем которого является текущий каталог.

Пример вывода:

. 1644
dev 1644
dev/null 0
dev/random 0
dev/urandom 0
dev/zero 0
etc 1644
etc/group 116
etc/hosts 20
etc/passwd 0
etc/resolv.conf 0
tmp 548
usr 822
usr/local 822
usr/local/go 822
usr/local/go/lib 822
usr/local/go/lib/time 822
usr/local/go/lib/time/zoneinfo.zip 366776

Пример:

Еще пример: