的最后一个形参才能使用...**操作符,使用它必须注意如下事项:

可变长参数必须在函数列表的最后一个;
把可变长参数当切片来解析,可变长参数没有没有值时就是nil切片
可变长参数的类型必须相同
func test(a int, b ...int){
return
}
既然我们的函数可以接收可变长参数,那么我们在传参的时候也可以传递切片使用**...**进行解包转换为参数列表,append方法就是最好的例子:

var sl []int
sl = append(sl, 1)
sl = append(sl, sl...)
append方法定义如下:

// slice = append(slice, elem1, elem2)
// slice = append(slice, anotherSlice...)
func append(slice []Type, elems .
展开
评论