服务器部署php网站,wordpress 模板 淘宝客,大型网站开发软件,1个百度指数代表多少搜索第五章 函数式编程函数和方法的区别函数声明函数参数可变参数参数默认值 函数至简原则匿名函数高阶函数函数作为值传递函数作为参数传递函数作为返回值 函数闭包柯里化函数递归控制抽象惰性函数友情链接 函数式编程 面向对象编程 解决问题时#xff0c;分解对象#xff… 第五章 函数式编程函数和方法的区别函数声明函数参数可变参数参数默认值 函数至简原则匿名函数高阶函数函数作为值传递函数作为参数传递函数作为返回值 函数闭包柯里化函数递归控制抽象惰性函数友情链接 函数式编程 面向对象编程 解决问题时分解对象行为属性然后通过对象的关系以及行为的调用来解决问题Scala语言是一个完全面向对象编程语言。万物皆对象 函数式编程 解决问题时将问题分解成一个一个的步骤将每个步骤进行封装(函数)通过调用这些封装好的步骤解决问题Scala语言是一个完全函数式编程语言。万物皆函数 函数和方法的区别
核心概念
为完成某一功能的程序指令语句的集合称为函数类中的函数称之方法
实际应用
Scala语言的语法非常灵活可以在任何的语法结构中声明任何的语法函数没有重载和重写的概念方法可以进行重载和重写scala中函数可以嵌套定义
函数声明 函数参数
可变参数 参数默认值 函数至简原则 函数至简原则能省则省 如果函数明确声明Unit那么即使函数体中使用return关键字也不起作用如果函数明确使用return关键字那么函数返回就不能使用自行推断了需要声明返回值类型Scala如果想要自动推断无返回值可以省略等号
匿名函数 没有名字的函数就是匿名函数可以直接通过函数字面量表达式来设置匿名函数 函数字面量定义格式 val sum: (Int, Int) Int (x: Int, y: Int) x y 高阶函数
函数作为值传递 函数作为参数传递 函数作为返回值 函数闭包柯里化 函数递归 一个函数/方法在函数/方法体内又调用了本身我们称之为递归调用 /*** 1) 方法调用自身* 2) 方法必须要有跳出的逻辑* 3) 方法调用自身时传递的参数应该有规律* 4) scala中的递归必须声明函数返回值类型*/控制抽象 惰性函数 当函数返回值被声明为lazy时函数的执行将被推迟直到我们首次对此取值该函数才会执行。这种函数我们称之为惰性函数 友情链接
上一章 Scala_【4】流程控制下一章 Scala_【6】面对对象