go语言中变长参数函数

接受“...T”类型形式参数的函数被称为变长参数函数。一个变长参数函数只能有一个“...T”类型形式参数,并且该形式参数必须是函数参数中的最后一个形式参数(否则go编译器会报错)。变长参数函数的“...T”类型形式参数在函数体内呈现为[]T类型的变量,在函数外部,“...T”类型形式参数可匹配和接收的实参类型有两种:多个T类型变量或t...(t为[]T类型变量)。

对于变长参数函数,传入参数类型只能选择一种,要么多个T类型变量,要么t...(t为[]T类型变量)。不能混用,否则编译会报错。

func Sum(n ...int) int {
	var total int
	for _, v := range n {
		total += v
	}
	return total
}

func main() {
	s := []int{1, 2, 3, 4, 5, 6}
	println(Sum(s...))  // 传入s...([]int类型,注意和Sum函数的形式参数...int的区别),输出21
	println(Sum())      // 不传参数,不会报错,输出0
	println(Sum(1))     // 传入一个参数,输出1
	println(Sum(2, 4, 6, 8, 1, 0))  // 传入多个int类型变量,输出21
}

Go语言基础及实战 文章被收录于专栏

Go语言学习笔记、语法知识、技术要点和个人理解及实战

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-29 12:19
点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务