1、代表可变参数
package main
import "fmt"
func main() {
multiInputArgs1(3,4,5)
multiInputArgs2("f","efw",4,3,2)
}
func multiInputArgs1(a ...int){
for i, v := range a {
fmt.Println(i, v)
}
}
//此种情况,可变入参只能放在入参列表最后面
func multiInputArgs2(b string, c string, a ...int) {
fmt.Println(b)
fmt.Println(c)
for i, v := range a {
fmt.Println(i, v)
}
}
2、与slice使用表示解压切片,得到slice的值
package main
import "fmt"
func main() {
a := []int{2, 45, 5645, 23, 543}
b := []int{34, 234, 23, 41, -43}
appendTest(a, b)
sliceTest(a...) //解压slice,取出slice的值,并传入可变参数的函数中。一次用到了两种场景。
}
func appendTest(a []int, b []int){
a = append(a, b...) //解压slice,取出slice的值
for i, v := range a {
fmt.Println(i, v)
}
}
func sliceTest(a ...int){
for i, v := range a {
fmt.Println(i, v)
}
}
3、数组中使用三个点...
在数组中,...符号指定的长度等于数组中元素的数量。
a:= [...]string{"sd", "rf", "t"}
b:= [...]int{1, 2, 3}
fmt.Println(len(a))
fmt.Println(len(b))