Я пытался выяснить, как просто перечислить файлы и папки в одном каталоге в Go.
Я нашел filepath.Walk
, но он автоматически попадает в подкаталоги, чего я не хочу. Все мои другие поиски не нашли ничего лучшего.
Я уверен, что эта функциональность существует, но ее было действительно трудно найти. Дайте мне знать, если кто-нибудь знает, где я должен искать. Спасибо.
Еще проще, используйте
path/filepath
:источник
Glob ignores file system errors such as I/O errors reading directories. The only possible returned error is ErrBadPattern, when pattern is malformed.
Мы можем получить список файлов внутри папки в файловой системе, используя различные стандартные библиотечные функции golang.
Результаты тестов.
Получить более подробную информацию об этом блоге
источник
filepath.Walk
. Кроме того,filepath.Walk
поддерживает рекурсивное приличное времяos.File.Readdir
иioutil.ReadDir
не делает.ioutil.ReadDir
это хорошая находка, но если вы щелкнете и посмотрите на источник, то увидите, что он вызывает метод Readdir из os.File . Если вы согласны с порядком каталогов и вам не нужен отсортированный список, то этот метод Readdir - все, что вам нужно.источник
Из вашего описания, что вы, вероятно, хотите, это os.Readdirnames .
Отрывок:
Кредит SquattingSlavInTracksuit «S комментарий ; Я бы предложил продвинуть их комментарий к ответу, если бы мог.
источник