开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map :函数注意事项和细节(3)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9603
函数注意事项和细节(3)
1、使用_标识符,忽略返回值
func cal(n1 int,n2 int) (sum int, sub int) {
sum =n1 + n2
sub= n1 - n2
return
}
func main() {
res1, _:=cal(10, 20)
fmt.Printf("res1=%d ", res1)
}
下划线可以作为一个占位符来忽略返回值
2、Go 支持可变参数
//支持0到多个参数
func sum(args...int) sum int ( //...是基本语法
}
//支持1到多个参数
func sum(n1 int, args...int) sum int {
}
说明:
(1) args 是 slice 切片(动态的数组),通过 args[index]可以访问到各个值.(args可以变名)
(2)案例演示,编写一个函数 sum 可以求出1到多个 int 的和
(3)如果一个函数的形参列表中有可变参数,则可变参数要放在形参列表最后
代码演示:(可变参数的使用)
func sum(n1 int,args...int) int { //非可变参数n1要写在第一位,一个返回值int不需要括号
sum:= n1
//遍历args
for i := 0; i < len(args); i++ {
sum += args[0] //args[0]表示取出args切片的第一个元素值,其他依次类推
}
return sum
}
func main() {
//测试一下可变参数的使用
res4 := sum(10)
fmt.Println(“res4=”, res4)
}
运行效果
res4= 10
func sum(n1 int,args...int) int {
sum:= n1
//遍历args
for i := 0; i < len(args); i++ {
sum += args[i]
}
return sum
}
func main() {
res4 := sum(10, 0, -1, 90, 10)
fmt.Println(“res4=”, res4)
}
运行效果
res4= 109
func sum(n1 int,vars...int) int {
sum:= n1
//遍历vars
for i := 0; i < len(vars); i++ {
sum += vars[i]
}
return sum
}
func main() {
res4 := sum(10, 0, -1, 90, 10, 100)
fmt.Println(“res4=”, res4)
}
运行效果
res4= 209
args 是可变参数,但通常情况使用 args