arrays - 如何将 []string 转换为 ...string

标签 arrays go slice

我想要一个函数来扫描文件夹并找到所有模板文件。然后调用 template.ParseFiles 解析所有模板。我使用 var tmplPathList []string 记录所有模板,并将 tmplPathList 传递给 template.ParseFiles()

func ParseFiles(filenames ...string) (*Template, error) 使用 ... string 作为参数。编译错误 cannot use tmplPathList (type []string) as type string in argument to "html/template".ParseFiles

如何将 []string 转换为 ... string

var tmplPathList []string
for _, file := range tmplList {
    tmplPathList = append(tmplPathList, dir + file.Name())
}
templates = template.Must(template.ParseFiles(tmplPathList))

最佳答案

您可以在调用函数时将 ... 附加到变量名,以允许将 slice 值用作可变参数参数:

template.ParseFiles(tmplPathList...)

Demo on play.golang.org

关于arrays - 如何将 []string 转换为 ...string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42452415/

相关文章:

json - 解析字段名称包含下划线的 JSON

go - 了解 Golang 内存管理与大片字符串

javascript - 尝试访问js文件中的ejs数组

c - 打印链表数组

c - 如何使用命令行参数仅读取唯一行?

go - 如何在 http.Get 请求中使用双引号和冒号作为查询字符串?

arrays - 戈朗 : Is this an acceptable way to create a Slice from part of another Slice?

go - 如何在不返回的情况下更改函数中的 slice ?

go - slice 可以访问另一个超出范围的 slice ,但索引超出范围会导致 panic

c - 数组元素作为不同数组的索引