go语言函数不能嵌套,但是在函数内部可以定义匿名函数,实现一下简单功能调用。
所谓匿名函数就是,没有名称的函数。
匿名函数实例
package main
import "fmt"
func main() {
//匿名函数
max := func(a int, b int) int {
if a > b {
return a
} else {
return b
}
}
i := max(1, 2)
fmt.Printf("i:%v\n", i)
}
运行结果
i:2
自己执行,调用
package main
import "fmt"
func main() {
//自己执行
res := func(a int, b int) int {
if a > b {
return a
} else {
return b
}
}(1, 2)
fmt.Printf("res: %v\n", res)
}
运行结果
res: 2
简单功能调用运算
package main
import "fmt"
func test1() {
name := "jack"
age := "20"
// 在函数内部做一些运算
f1 := func() string {
return name + age
}
msg := f1()
fmt.Printf("msg: %v\n", msg)
}
func main() {
test1()
}
msg: jack20