Go 函数 递归demo

函数可以有多个参数,可以没有参数
函数可以有多个返回值,可以没有返回值
Go语言中参数没有默认值这个概念


常用写法:

func sum(x int, y int)(int, int) {
     ...
}

特殊写法:

func f1(x, y, z int, m, n string) a int {
    ...
}

参数列表*args:

func f1(x string, y ...int) {
     //x必须传 ,y可以传0个或多个
    //y是切片,表示多个int类型。相当于*args
}

递归:求n!

package main

import (
    "fmt"
)

func f(n uint64) uint64 {
    if n <= 1 {
        return 1
    }
    return n * f(n-1)
}

func main() {
    ret := f(7)
    fmt.Println(ret)
}
原文地址:https://www.cnblogs.com/staff/p/13222292.html