1.声明
当前内容主要用于本人学习和复习,当前内容主要为Scala中的闭包
当前内容借鉴:菜鸟教程
2.概念
闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。
闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。
3.开始测试
1.函数内部调用函数外部的变量,并返回值
// 闭包就是一个匿名函数的表达式中使用外部可变的变量
var count: Int = 2;
var noNameFunc = (x: Int, y: Int) => (x + y) / count;
def main(args: Array[String]): Unit = {
println(noNameFunc(1, 2));
}
2.闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。
// 第二种
def outer(init: Int): Int = {
var num = 5;
def inner(init: Int): Int = {
return init * 5;
}
return inner(init);
}
可以理解为:函数内部调用另外一个函数,另外一个函数用到了这个函数内部的变量
4.总结
1.闭包就是本质就是一个函数,只不过使用了外部变量作为返回值的函数
以上纯属个人见解,如有问题请联系本人!