package main
import "fmt"
func adder(x int)func(int) int {
return func(y int)int {
x+=y
return x
}
}
func main(){
ret := adder(100)
ret2 := ret(200)
fmt.println(ret2)
}
定义了一个函数adder,参数数x int 类型,返回值是一个匿名函数func(int)int
匿名函数的参数数int,返回值是int
匿名函数返回X
package main
import (
"fmt"
)
func adder(x int) func(int) int {
return func(y int) int {
x += y
return x
}
}
func main() {
ret := adder(100)
ret2 := ret(200)
fmt.Println(ret2)
}
//func adder() 返回值是X
package main
import (
"fmt"
)
func adder(x int) func(int) int {
return func(y int) int {
x += y
return y
}
}
func main() {
ret := adder(100)
ret2 := ret(200)
fmt.Println(ret2)
}
返回值是Y
ret(200)是将传入参数付给了Y,也就是给了闭包,匿名函数的的传参