语法糖 “…”的用法:
● 第一个用法主要是用于函数有多个不定参数的情况,表示为可变参数,可以接受任意个数但相同类型的参数。
● 第二个用法是slice可以被打散进行传递。
package main
import "fmt"
func main() {
foo()
foo(true)
foo(false, true)
p := []bool{false, false, false, false, true}
foo(p...)
}
func foo(a ...bool) {
for k, def := range a {
if def {
fmt.Printf("foo a %d\n", k)
return
}
}
fmt.Println("foo no a")
}