认识函数
# 认识函数
函数可以返回多个值,Go 通常用最后一个返回值表达错误或查询状态。可变参数在函数内部表现为切片。
func average(values ...float64) (float64, error) {
if len(values) == 0 {
return 0, errors.New("no values")
}
var total float64
for _, value := range values {
total += value
}
return total / float64(len(values)), nil
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
函数也是值,可以传递给其他函数。闭包会捕获外部变量,适合构造配置后的处理器,但应避免隐藏共享可变状态。命名返回值只在能明显改善短函数可读性时使用。