package main
import "fmt"
type FuncType func(int, int)
func main0801() {
a := 10
b := 20
//在函数内部定义一个匿名函数
//f 函数类型变量 接收函数
var f FuncType
f = func(a int, b int) {
fmt.Println(a + b)
}
f(a, b)
//fmt.Println(f)
}
func main0802() {
//a := 10
//b := 20
// int类型
//v := func(a int, b int) int {
// return a + b
//}(a, b)
//如果定义匿名函数后在{}后面如果有()表示函数调用
f := func(a int, b int) int {
return a + b
}
v := f(10, 20)
fmt.Printf("%T\n", f)
fmt.Println(v)
}
func main0803() {
a := 10
b := 20
f := func() int {
return a + b
}
//v := f(a, b)
a = 100
b = 200
v := f()
fmt.Println(v)
}