example 1:
func div(a, b int)(int, int){
return a / b,a % b
}


★函数可返回多个值
example 2:
func div(a, b int)(q, r int){
return a / b,a % b
}


★函数返回多个值时可以取名字

★仅用于非常简单的函数

★对于调用者而言没有区别
example 3:
func apply(op func(int, int) int, a, b int) int {
p := reflect.ValueOf(op).Pointer()
opName := runtime.FuncForPC(p).Name()
fmt.Printf("Calling function %s with args : (%d, %d)\n",opName, a, b)
return op(a, b)
}

★函数可作为参数
example 4:
func sum(number ...int) int {
s:= 0
for i := range number {
s += number[i]
}
return s
}

★可变参数列表
语法要点回顾:
  • 返回值类型写在最后面
  • 可返回多个值
  • 函数作为参数
  • 没有默认参数,可选参数