golang返回函数和赋值
我要学习“golang返回函数”,但我很困惑。 为什么这个代码返回7? 如何将值指定给ygolang返回函数和赋值,go,Go,我要学习“golang返回函数”,但我很困惑。 为什么这个代码返回7? 如何将值指定给y package main import "fmt" func maked(x float64) func(float64) float64 { fn := func(y float64) float64 { return x - y } return fn } func main() { test := maked(12)
package main
import "fmt"
func maked(x float64) func(float64) float64 {
fn := func(y float64) float64 {
return x - y
}
return fn
}
func main() {
test := maked(12)
fmt.Println(test(5))
// printed 7
}
test:=maked12返回如下函数
fn := func(y float64) float64 {
return 12 - y
}
现在测试有了这个功能。所以test5在y=5的情况下运行上述函数。
所以12-5=7test5调用test,将5分配给y。您会期望什么?