介绍go的函数、函数作为变量、匿名函数、可变参数、闭包
package main
import "fmt"
func main() {
// 一般的方法调用
A(1, "睡觉")
// 可变参数
B(5, 6, 7)
// 方法作为变量
c := C
c()
//匿名函数
d := func() {
fmt.Println("匿名函数")
}
d()
//闭包
f := myclosure(10)
fmt.Println(f(1))
fmt.Println(f(2))
}
func A(a int, b string) (e int, f string, g bool) {
fmt.Println(a, b)
e = 10
f = "ok"
g = true
return e, f, g
}
// 不定个数的参数,相当于可变参数(注意,不定长度变参必须放在最后一个参数)
func B(a ...int) {
fmt.Println(a[0])
fmt.Println(a[1])
fmt.Println(a[2])
fmt.Println(a)
}
func C() {
fmt.Println("方法C")
}
func myclosure(x int) func(int) int {
return func(y int) int {
return x + y
}
}