命名的函数返回值

func add(a, b int) (c int) { c = a + b return}func calc(a, b int) (sum int, avg int) { sum = a + b avg = (a +b)/2 return}

可变参数:

func add(arg…int) int { //0个或多个参数}func add(a int, arg…int) int { //1个或多个参数}func add(a int, b int, arg…int) int { //2个或多个参数}

注意:其中arg是一个slice,我们可以通过arg[index]依次访问所有参数通过len(arg)来判断传递参数的个数

函数可以作为type:

package mainimport "fmt"type op_func func(int, int) intfunc add(a, b int) int { return a + b}func operator(op op_func, a, b int) int { return op(a, b)}func main() { fmt.Println(operator(add, 1, 2))}