object Test01 {
def main(args: Array[String]): Unit = {
//普通函数
val squ=(x:Int) => x*x
// ps:_的简写形式只在1.参数类型已知的情况下才能用--自动推断 2.=> 右边只出现一次的情况 //闭包--一旦函数引用了还是外部的变量或常量,那么该函数为闭包函数
var v=5
val fun1=mulby(v)
println(s"v=$v "+fun1(2d))
v=10
println(s"v=$v "+fun1(2d))
val fun2=mulby(v)
println(s"v=$v "+fun2(2d))
/*
* 结果输出:
* v=5 20.0 当v=5时,外部的变量已被copy到fun1函数内部,称为闭包
* v=10 20.0 当v=10时,已经不会影响fun1了
* v=10 30.0 v=10时,创建函数fun2,v的值被copy到fun2内部(闭包)
*
*/
}
//方法
def squMethod(x:Int) : Int = x*x
//高阶函数--一个接受函数参数的函数
def mulby(fina:Double) = (x:Double) => fina*x+10
//fina是这个函数的参数,x是另一个函数的参数 //why?--应为可以这样用
val f1=mulby(10d)
}

一旦函数引用了还是外部的变量或常量,那么就称此函数为闭包函数。

最新文章

  1. XSS初探
  2. The Beginner’s Guide to iptables, the Linux Firewall
  3. activiti 任务节点 处理人设置【转】
  4. [ActionScript 3.0] as3.0加载as2.0的swf时获取as2.0的实际舞台尺寸
  5. bower解决js的依赖管理
  6. java生成带html样式的word文件
  7. -_-#URL区分大小写吗
  8. cholesky分解
  9. github 的分支操作
  10. WebService就是这么简单
  11. php 的文件操作类
  12. html初识form表单
  13. BZOJ4993 [Usaco2017 Feb]Why Did the Cow Cross the Road II 动态规划 树状数组
  14. [leetcode]Spiral Matrix @ Python
  15. [UE4]C++中引用(&)的用法和应用实例
  16. USACO 完结的一些感想
  17. 混沌数学之Duffing(杜芬)振子
  18. poj_3987 Trie图
  19. 前端PHP入门-012-回调函数[慎入]
  20. mysql concat函数进行模糊查询

热门文章

  1. C++ 结构体、模板、类、重载初使用
  2. bootstrap使用笔记
  3. [CF24A]Ring road(2019-11-15考试)
  4. 【在 Nervos CKB 上做开发】Nervos CKB 脚本编程简介[5]:调试 debug
  5. windows下vmware和Hyper-v共存方法
  6. div不换行的三种方法
  7. Jmeter的安装与配置。
  8. Devops K8s
  9. ajax往后台传值的一些方式
  10. 27、获取图片验证需要的uuId