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语言学习笔记、语法知识、技术要点和个人理解及实战

全部评论

相关推荐

07-02 13:52
门头沟学院 Java
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务