package main
import (
"fmt"
"io/ioutil"
)
func main() {
// Just count the files...
systems,_ := ioutil.ReadDir("./XML")
fmt.Printf("# of planetary systems\t%d\r\n", len(systems))
// For each datafile
for _,element := range systems {
fmt.Println(element.Name)
}
}
这一行...
fmt.Println(element.Name)
输出内存地址而不是我假设的文件名字符串。为什么?我如何获得实际的字符串?感谢。
同样所有的地址都是一样的,我希望它们不同,这意味着我的for-each循环可能会被破坏。
答案 0 :(得分:3)
FileInfo.Name
是FileInfo
接口的函数;正在打印函数的内存地址。要显示文件名,您需要在打印前评估该功能:
for _, element := range systems {
fmt.Println(element.Name())
}