本文主要是介绍go语言中的三点 ... 用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在go语言中 三点 ... 特殊用法在不同的地方有不同的意义,在不同的地方使用...的意义不同,如下:
1. 在定义数组[...]时的数组容量处的...表示由编译器自动计算数组元素大小,如:
// 数组定义 这个是手动指定数组大小
arr1 := [2]string{"Hello", " World"}// 由编译器自动计算数组元素,这个和上面的效果一样
arr2 := [...]string{"Hello", " World"}
2. 用在append函数的第二个参数后面时,append(a, b...) 表示增加b中所有的数据到a中,
append函数原型 func append(s []T, x ...T) []T
表示批量增加数据,类似JS中的伸张运算符, 示例如下:
a := []string{"John", "Paul"}b := []string{"George", "Ringo", "Pete"}a = append(a, b...) // equivalent to "append(a, b[0], b[1], b[2])"// a == []string{"John", "Paul", "George", "Ringo", "Pete"}
3. 用在函数形参中时表示可变参数 ...
可变参数函数使用示例:
package mainimport ("fmt""strings"
)
// 可变参数函数
func Fullname(names ...string) string {return strings.Join(names, " ")
}
func main() {fn1 := Fullname("Tekin", "Tian")fmt.Println("fn1=", fn1) // fn1= Tekin Tianfn2 :=Fullname("Tekin")fmt.Println("fn2=", fn2) // fn2= Tekinfn3 :=Fullname()fmt.Println("fn3=", fn3) // fn3=
}
....
这篇关于go语言中的三点 ... 用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!