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 }
}

  

最新文章

  1. 一次 Oracle 算出运算溢出问题 排查解决 (并非除数为零!)
  2. PHP中比较两个时间的大小与日期的差值
  3. AC自动机入门
  4. CI框架引入外部css和js文件
  5. [c#] const 与 readonly
  6. Core Java Volume I — 3.6. Strings
  7. bnuoj 33656 J. C.S.I.: P15(图形搜索题)
  8. activemq p2p方式
  9. 运行时动态修改webconfig
  10. SQL Server未找到或无法訪问server问题解决
  11. c# 图片简单模糊 非高斯模糊
  12. 自己写的驱动用CreateFile打开时错误码返回1的问题
  13. [CF703D]Mishka and Interesting sum/[BZOJ5476]位运算
  14. ML-Framework:ML.NET 0.3 带来新组件
  15. 谷歌排名影响因素最新研究(SEM RUSH版)
  16. scala下划线
  17. vue2.0 keep-alive最佳实践
  18. [No0000D8]rar合并到JPG.bat用图片隐藏文件
  19. 20165305 学习基础和C语言基础调查
  20. CS299笔记:广义线性模型

热门文章

  1. CF#541 D. Gourmet choice /// BFS 拓扑
  2. 第十二篇 requests模拟登陆知乎
  3. pytest-mark跳过
  4. python_django_在views模块中操作状态保持(session)
  5. Java HashSet和ArrayList的查找Contains()时间复杂度
  6. leetcood学习笔记-235-二叉搜索树的最近公共祖先
  7. 导出Excel(终极版)
  8. 阿里云重磅推出物联网安全运营中心Link SOC
  9. bzoj1005题解
  10. Android studio 安装apk时报错:INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries