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 循环可能会被破坏。
最佳答案
FileInfo.Name
是FileInfo
接口(interface)的函数;正在打印函数的内存地址。要显示文件名,需要在打印前对函数求值:
for _, element := range systems {
fmt.Println(element.Name())
}
关于去吧,没有得到字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33291216/