自建网站支付问题,网站开发的方案,怎么关闭seo查询,学校网站模板 中文版函数
函数通过func关键字定义#xff0c;后跟函数名、参数列表、返回类型。语法如下#xff1a;
func functionName(parameters) returnType {// 函数体
}示例
func add(x int, y int) int {return x y
}func swap(x, y string) (string, string) {return y, x
}变参函数…函数
函数通过func关键字定义后跟函数名、参数列表、返回类型。语法如下
func functionName(parameters) returnType {// 函数体
}示例
func add(x int, y int) int {return x y
}func swap(x, y string) (string, string) {return y, x
}变参函数
func sum(nums ...int) int {total : 0for _, num : range nums {total num}return total
}匿名函数 s : (func () string {return anonymous-function})()fmt.Println(s)**高阶函数**函数作为参数和返回值
函数也可以作为参数传入 或者 作为返回值传出
// 函数作为参数
func compute(fn func(float64, float64) float64) float64 {return fn(3, 4)
}// 函数作为返回值
func getComputeFunc() func(int, int) int {return func(x, y int) int {return x y}
}闭包 func intSeq() func() int {i : 0return func() int {ireturn i}
}// 调用
func main() {incfunc : intSeq()fmt.Println(incfunc())fmt.Println(incfunc())
}闭包本质是对作用域的延伸。 就比如intSeq中的i如果没有其它地方引用其会被垃圾回收但是由于incfunc中有对其的引用其不能被回收其生命周期变长了作用域延伸了。