函数可以捕获一个值然后多次使用:
func create(incre: Int) -> ()->Int{
var amout=0;
func increate()->Int{
amout += incre
return amout
}
return increate
}
var text1 = create(incre : 10)
text1()
text1()
结果:
image.png
原因:我自己理解的是amout是属于create的,代码中只调用了一次cretae,所以text1()也是属于create的,每次调用increate其实是不能改变amount的值,有点像类。如果重新调用create函数,就算一个 新的开始。
image.png