如何獲取io/ioutil.ReadDir()返回的項目的數量?使用Go獲取目錄中文件的數量
我有這個代碼,它的工作原理,但我必須認爲是不是在Right的RightWay(tm)。
package main
import "io/ioutil"
import "fmt"
func main() {
files,_ := ioutil.ReadDir("/Users/dgolliher/Dropbox/INBOX")
var count int
for _, f := range files {
fmt.Println(f.Name())
count++
}
fmt.Println(count)
}
8-12行看起來方式太多要經過僅計算READDIR的結果,但是我無法找到正確的語法來獲得計數,而迭代的範圍內。幫幫我?
如果您嚴格尋找一個數,你應該看看使用[File.Readdirnames(HTTPS:/ /golang.org/pkg/os/#File.Readdirnames)。這避免了收集每個文件的信息。散步文件([filepath.Walk](https://golang.org/pkg/path/filepath/#Walk))大概會更有效率,但是它也是Readdirnames。 – jpj
感謝您的提示。在我開發的應用程序中,我希望通過改變我的實現來實現一個簡單的優化。我將在下次提交此建議! – golliher