去吧,没有得到字符串值

标签 go

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.NameFileInfo接口(interface)的函数;正在打印函数的内存地址。要显示文件名,需要在打印前对函数求值:

for _, element := range systems {
    fmt.Println(element.Name())
}

关于去吧,没有得到字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33291216/

相关文章:

go - mac上无法运行ginkgo bootstrap命令

mongodb - 如何使用 mgo 和 Go 查询具有日期范围的 MongoDB?

json - 使用 http.Post 将 json 数据发布到远程服务器

json - Go JSON解析错误

testing - 如何去测试多个包

json - 可以在不使用结构的情况下在 Golang 的 DynamoDB 中运行 PutItem 吗?

mongodb - 在 mgo 中查询字符串数组

Golang log. fatal error 中的致命更改行号

http - 服务器开始监听后如何启动浏览器?

unit-testing - 模拟 os.GetEnv ("ENV_VAR")