在 Go 语言中,
[]string
是一个字符串数组
我们也使用 ...string
作为参数。
有什么区别?
函数定义:
func f(args ...string) {}
我可以像下面这样调用这个函数吗?
args := []string{"a", "b"}
f(args)
最佳答案
[]string
is a string array
从技术上讲,它是一个引用底层数组的 slice
and we also use
...string
as a parameter.What is the difference?
关于结构,没什么。两种语法产生的数据类型相同。
...
参数语法构成可变参数。它将接受零个或多个 string
参数,并将它们作为 slice 引用。
关于调用 f
,您可以使用以下语法将一段字符串传递给可变参数:
func f(args ...string) {
fmt.Println(len(args))
}
args := []string{"a", "b"}
f(args...)
此语法可用于使用文字语法构建的 slice ,或表示可变参数的 slice (因为它们之间实际上没有区别)。
关于string - golang 中的 []string 和 ...string 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907653/