//函数是组织好的,可重复使用的,用来执行特定功能的代码块
//格式如下:
func 函数名(形参)(返回值){
函数体
}
//函数名可由字母,数字,下划线组成,但开头不能是数字
//go语言函数若是没有返回值,可以省略不写,go语言函数允许返回多个值,与c语言不同
//go语言不支持默认形参
package main
import "fmt"
//4.函数接收可变参数(即实参个数是可变的),在形参名后面加...表示可变参数
//可变参数在函数体内其实是切片
func function4(lbd ...int) int { //lbd此时是切片
sum := 0
for _, value := range lbd { //切片的for-range循环
sum += value
}
return sum
}
// 4.1如果固定参数和可变参数同时出现,可变参数要放在后面
func function4_1(a int, lbd ...int) int { //lbd此时是切片,a为普通固定形参
sum := a
for _, value := range lbd { //切片的for-range循环
sum += value
}
return sum
}
func main() {
//4
sum1 := function4() //可变参数可以不赋值
sum2 := function4(10)
sum3 := function4(10, 20)
sum4 := function4(10, 20, 30)
fmt.Println("function4的值可以是", sum1, sum2, sum3, sum4)
//4.1
sum5 := function4_1(10) //因为有固定形参,必须给实参
sum6 := function4_1(10, 50, 60)
fmt.Println("有固定参数和可变参数的", sum5, sum6)
}
运行结果如下:
function4的值可以是 0 10 30 60
有固定参数和可变参数的 10 120
好温柔的风哦