如何将类型[] os.FileInfo转换为字符串?

时间:2016-08-02 18:52:06

标签: go

我使用此代码使用此代码从目录中动态提取模板文件名:

files, _ := ioutil.ReadDir("./views")
    htmlFiles := ".html"
    for _, f := range files {
        if strings.Contains(files, htmlFiles) {
            fmt.Println(f.Name())
        }
    }

我收到此错误:

cannot use files (type []os.FileInfo) as type string in argument to strings.Contains

那么,如何将type []os.FileInfo转换为string(或者如何以更简单的方式做到这一点)?

1 个答案:

答案 0 :(得分:3)

ioutil.ReadDir返回的值是[]os.FileInfo,它是一个接口片段。没有将它转换为有意义的字符串的一般方法。您想分别比较每个文件的名称:

files, err := ioutil.ReadDir("./views")
if err != nil {
    log.Fatal(err)
}

for _, f := range files {
    if strings.HasSuffix(f.Name(), ".html") {
        fmt.Println(f.Name())
    }
}