go语言基础之不定参数的传递
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