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

  

 

posted @ 2019-01-04 15:17  努力哥  阅读(2019)  评论(0编辑  收藏  举报