io/ioutil.ReadDir()에서 반환 한 항목 수는 어떻게 얻을 수 있습니까?Go를 사용하여 디렉토리에있는 파일 수 얻기
나는 작동하지만이 코드는 Go에서 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