1、不定参数的传递
示例1:
package main //必须有一个main包
import "fmt"
func myfunc(tmp ...int) {
for _, data := range tmp {
fmt.Println("data = ", data)
}
}
func test(args ...int) {
myfunc(args...)
}
func main() {
test(1, 2, 3, 4)
}
执行结果:
data = 1 data = 2 data = 3 data = 4
示例2:
package main //必须有一个main包
import "fmt"
func myfunc2(tmp ...int) {
for _, data := range tmp {
fmt.Println("data = ", data)
}
}
func test(args ...int) {
// myfunc2(args[:2]...) //args[0]~args[2](不包括数字args[2]),传递过去
myfunc2(args[2:]...) //从args[2]开始(包括本身),把后面所有元素传递过去
}
func main() {
test(1, 2, 3, 4)
}
执行结果:
data = 1 //args[:2] data = 2 ----------------- data = 3 //args[2:] data = 4