scala中的闭包简单使用
Posted yxj0728
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala中的闭包简单使用相关的知识,希望对你有一定的参考价值。
object Closure { /** * scala中的闭包 * 函数在变量不处于其有效作用域内,还能够对变量进行访问 * * @param args */ def main(args: Array[String]): Unit = { def getHelloFunc(msg:String) = (name:String) => println(msg + "," + name) val sayHello = getHelloFunc("hello") // 传入msg的值 ,后面sayHello依然可以访问到 val sayHi = getHelloFunc("hi") // 两次条用getHelloFunc,传入不同的msg,创建不同的函数返回 // 然而msg只是一个局部变量, // 在getHelloFunc调用后,还继续存在创建的函数中,当sayHello("yxj")调用时,值为hello的msg保留在了函数内部,可以反复使用 // 这种变量超出了其作用域,还可以使用的情况,就是闭包 // scala sayHello("yxj") // 打印 hello,yxj sayHi("yxj") // 打印 hi,yxj } }
以上是关于scala中的闭包简单使用的主要内容,如果未能解决你的问题,请参考以下文章