golang中的[] string和… string之间有什么区别?

前端之家收集整理的这篇文章主要介绍了golang中的[] string和… string之间有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Go语言

[] string是字符串数组

我们还使用… string作为参数

有什么区别?

函数定义:

func f(args ...string) {}

我可以像下面这样调用这个函数

args := []string{"a","b"}

f(args)

[]string is string array

从技术上讲,它是一个引用底层数组的切片

and we also use ...string as parameter

what is difference?

关于结构,没有什么真的。由两种语法产生的数据类型是相同的。

…参数语法创建一个可变参数。它将接受零个或多个字符串参数,并将它们引用为切片。

关于调用f,您可以使用以下语法将一个字符串片段传递到variadic参数中:

func f(args ...string) {
    fmt.Println(len(args))
}


args := []string{"a","b"}

f(args...)

此语法适用于使用文本语法构建的切片,或表示可变参数的切片(因为它们之间没有区别)。

http://play.golang.org/p/QWmzgIWpF8

猜你在找的Go相关文章