小编典典

当go函数声明中的参数旁边时,“…”是什么意思?

go

我正在查看用Google的Go语言编写的一些代码,然后发现:

func Statusln(a ...interface{})
func Statusf(format string, a ...interface{})

我不明白这是什么...意思。有人知道吗


阅读 334

收藏
2020-07-02

共1个答案

小编典典

这意味着您可以使用可变数量的参数来调用Statusln
。例如,使用以下命令调用此函数:

Statusln("hello", "world", 42)

将为参数分配以下值:

a := []interface{}{"hello", "world", 42}

因此,无论有多少参数,您都可以遍历该片并处理所有参数。可变参数的一个很好的流行用例是fmt.Printf(),它使用格式字符串和可变数量的参数,这些参数将根据格式字符串进行格式化。

2020-07-02