demo.go(不定参函数):
package main
import "fmt"
// 主函数
func main() {
// 调用函数
add(1, 2, 3)
}
// 定义函数 ...表示不定参
func add(args ...int) {
// args是数据的集合(切片,类似数组)(数组的长度是固定的)
fmt.Println(args) // [1 2 3]
fmt.Printf("%T \n", args) // []int 切片(可以动态添加数据,长度不固定)
fmt.Println(len(args)) // 3
fmt.Println(args[0]) // 1
}
demo.go(不定参函数的嵌套调用):
package main
import "fmt"
// 主函数
func main() {
// 调用函数
add(1, 2, 3)
}
// 不定参函数
func add(args ...int) {
count := len(args)
// 不定参函数的嵌套调用
add2(args[0:count]...)
// add2(args[0], args[1], args[2])
}
// 不定参函数2
func add2(args ...int) {
fmt.Println(args) // [1 2 3]
}