我使用此代码使用此代码从目录中动态提取模板文件名:
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
(或者如何以更简单的方式做到这一点)?
答案 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())
}
}