变参,本质上是一个切片,只能接受一到多个同类型参数,且必须放到参数列表尾部.
将切片作为变参时,须进行展开操作,如果是数组,先将其转换为切片。
如果需要对多个数组或切片里的元素进行相同的数据处理,这时就可以运用变参,将数组或切片作为参数传递进函数里。
package main
import(
"fmt"
)
func test_bianchan(a ...int) {
for i := range a {
a[i] += 100
}
}
func main() {
a := []int{10, 20, 30}
b :=[]int{35,22,65,38,68,132,310}
test_bianchan(a...) //...的意思是将这个切片展开并将元素传递给函数变参
fmt.Println(a)
text_bianchan(b...)
fmt.Println(b)
}