Saya sudah mencoba mencari cara bagaimana daftar file dan folder dalam satu direktori di Go.
Saya telah menemukan filepath.Walk
, tetapi masuk ke dalam sub-direktori secara otomatis, yang tidak saya inginkan. Semua pencarian saya yang lain belum menghasilkan hal yang lebih baik.
Saya yakin bahwa fungsi ini ada, tetapi sangat sulit ditemukan. Beri tahu saya jika ada yang tahu di mana saya harus mencari. Terima kasih.
Lebih sederhana, gunakan
path/filepath
:sumber
Glob ignores file system errors such as I/O errors reading directories. The only possible returned error is ErrBadPattern, when pattern is malformed.
Kita bisa mendapatkan daftar file di dalam folder pada sistem file menggunakan berbagai fungsi pustaka standar golang.
Hasil benchmark.
Mendapatkan rincian lebih lanjut tentang ini Blog Post
sumber
filepath.Walk
. Selanjutnya,filepath.Walk
mendukung rekursif yang layak sementaraos.File.Readdir
danioutil.ReadDir
tidak.ioutil.ReadDir
adalah menemukan yang baik, tetapi jika Anda mengklik dan melihat sumber Anda melihat bahwa itu memanggil metode Readdir dari os.File . Jika Anda baik-baik saja dengan urutan direktori dan tidak perlu daftar diurutkan, maka metode Readdir ini adalah semua yang Anda butuhkan.sumber
Dari deskripsi Anda, apa yang mungkin Anda inginkan adalah os.Readdirnames .
Potongan:
Kredit untuk SquattingSlavInTracksuit 's komentar ; Saya menyarankan untuk mempromosikan komentar mereka ke jawaban jika saya bisa.
sumber