在Go语言中,
[]string 是一个字符串数组
[]string
并且我们也将其...string用作参数。
...string
有什么区别?
功能定义:
func f(args ...string) {}
我可以像下面这样调用此函数吗?
args := []string{"a", "b"} f(args)
从技术上讲,这是引用基础数组的切片
并且我们也将其...string用作参数。 有什么区别?
关于结构,真的没有。两种语法得出的数据类型相同。
该...参数语法形成了可变参数的参数。它将接受零个或多个string参数,并将它们作为切片引用。
...
string
关于调用f,您可以使用以下语法将字符串的一部分传递给variadic参数:
f
func f(args ...string) { fmt.Println(len(args)) } args := []string{"a", "b"} f(args...)
此语法可用于使用文字语法构建的切片,或表示可变参数的切片 (因为它们之间实际上没有区别) 。
http://play.golang.org/p/QWmzgIWpF8