如何包装带有可变参数的函数

克里斯·辛普森(Chris Simpson):

在Go中,可以在函数中的最终参数前面加上...表示法,以表明它是可变参数。

template.ParseFiles是这样的功能之一:

func (t *Template) ParseFiles(filenames ...string) (*Template, error)

我正在尝试创建自己的函数,该函数设置了模板的各种常用功能,并且我希望调用函数传递需要解析的文件列表,但我不确定该怎么做。

例如,如果我的代码如下所示:

type templateMap map[string]*template.Template
func (tmpl templateMap) AddTemplate(name string, files ...string) {
    tmpl[name] = template.Must(template.ParseFiles(files)).Delims("{@","@}")
}

我收到一个错误:

cannot use files (type []string) as type string in function argument

如何包装可变参数?

詹姆斯·亨斯特里奇(James Henstridge):

要传递切片代替函数的可变参数,只需在后面加上...因此,在示例代码中,您需要:

tmpl[name] = template.Must(template.ParseFiles(files...)).Delims("{@","@}")

这是一个简单的概念示例:http : //play.golang.org/p/TpYNxnAM_5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用jQuery包装带有链接的跨度?

带有部分参数包的可变参数帮助函数

如何创建带有可变数量的参数的函数变量?

Oracle存储过程包装带有内联注释的编译错误

如何使模板推导带有可变参数的函数的返回类型

如何在javascript的类中包装带有对象的函数?

如何在Vue.js中动态包装带有组件的子字符串?

包装带有图标的单选按钮和另一个图标

如何使用SWIG使用可变参数包装C函数

是否可以从内部包装带有恒定代码的方法?

如何使用LD_PRELOAD包装可变参数函数?

如何使用带有从锈蚀Vec提取的参数列表的可变参数C函数?

如何在SWIG中包装可变参数模板类的可变参数模板成员函数?

material-ui包装带有链接的Tab组件

带有可变类型的可选参数的调用函数

C ++:如何在可变参数模板参数上调用带有类型参数的函数?

嵌套#define的问题,用于定义带有可变参数的函数

使用带有可变参数的函数的问题

如何在Boost Python中公开带有可变参数的C ++函数

创建带有可变数量参数的函数

HMENU仅包装带有子元素的元素

如何将带有设置参数的通用Powershell函数包装到新的指定函数中?

带有可选参数的 R 包装函数

如何在 MuiThemeProvider 标签内包装带有样式的组件?

编写带有可选参数的 REST 包装函数的 Pythonic 方法

带有可变参数模板参数的重载函数

带有可变参数的泛型函数的 C 实现

C:带有空指针的可变参数函数

如何制作一个接受另一个带有可变参数的函数