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