在 Go 语言中,
[]string
是一个字符串数组
我们还使用...string
作为参数。
有什么不同?
函数定义:
func f(args ...string) {}
我可以像下面这样调用这个函数吗?
args := []string{"a", "b"}
f(args)
[]string
是一个字符串数组
从技术上讲,它是一个引用底层数组的切片
我们还使用...string
作为参数。
有什么不同?
就结构而言,确实没什么。两种语法产生的数据类型是相同的。
The ...
参数语法创建一个可变参数。它将接受零个或多个string
参数,并将它们作为切片引用。
关于调用f
,您可以使用以下语法将字符串切片传递到可变参数:
func f(args ...string) {
fmt.Println(len(args))
}
args := []string{"a", "b"}
f(args...)
此语法可用于使用文字语法构建的切片,或表示可变参数的切片(因为它们之间确实没有区别).
http://play.golang.org/p/QWmzgIWpF8 http://play.golang.org/p/QWmzgIWpF8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)