2
我試圖讓一個目錄使用此功能列表:這個範圍的使用有什麼問題?
package main;
import ("fmt"; "os"; "io/ioutil")
func main() {
dir, _ := ioutil.ReadDir("..")
var f os.FileInfo
for f = range dir {
fmt.Println(f.Name())
}
}
按照documentation of ReadDir,它應該返回[]os.FileInfo
作爲第一個返回參數。然而,當我嘗試編譯它時,我得到了
cannot assign type int to f (type os.FileInfo) in range: int does not implement os.FileInfo (missing IsDir method)
我錯過了什麼?
謝謝!我知道我可以省略聲明,只是爲了得到更明確的編譯器錯誤。它仍然避開了我爲什麼要把這個指數放在一個區間的迴歸中。如果可能的話,是不是要避免按索引進行迭代? – Tobias
@Tobias本身可能是一個很好的問題。我想它遵循複合字面值的邏輯(http://golang.org/ref/spec#Composite_literals),首先找到鍵或索引,然後值 – VonC
有意義。但我害怕如果我要問這個問題,它可能會被關閉爲「不相關的編程」或... – Tobias