上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 35 下一页
摘要: 惰性加载* 定义* 当函数返回值被声明为 lazy 时,函数的执行将被推迟,直到我们首次对此取值,该函 数才会执行。* 这种函数我们称之为惰性函数。* 注意事项* 只能用来修饰 val的变量* 'lazy' modifier allowed only with value definitions* 阅读全文
posted @ 2021-10-20 15:16 学而不思则罔! 阅读(44) 评论(0) 推荐(0)
摘要: 抽象控制* 函数调用的方式* 值调用 : 函数名称(实参)* 名调用 : 函数名称(代码片段)* 示例 : 将代码片段定义为 形参* 语法* def 函数名称(形参名称: =>片段返回值类型) = {函数体}* 注意 : java 中只有值调用,没有名调用* 代码片段必须要有返回值** */ pac 阅读全文
posted @ 2021-10-20 15:15 学而不思则罔! 阅读(34) 评论(0) 推荐(0)
摘要: package com.dawang.scala.函数式编程_05 /** * @author gaocun * @create 2021-10-20 2:17 PM */ object 递归_07 { def main(args: Array[String]): Unit = { //for循环求 阅读全文
posted @ 2021-10-20 14:50 学而不思则罔! 阅读(27) 评论(0) 推荐(0)
摘要: 闭包* 定义* 如果一个函数,访问了它外部(局部)变量的值,那么这个函数和它所处的环境,称为闭包* 使用场景* 在嵌套函数中,内层函数可以 只用外出函数的任意变量柯里化* 定义* 柯里化(Currying)指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程。* 新的函数返回一个以原有第二 阅读全文
posted @ 2021-10-20 14:17 学而不思则罔! 阅读(105) 评论(0) 推荐(0)
摘要: 匿名函数* 语法* (参数列表)=>{函数体}* 示例 (x: Int, y: Int) => {x / y}* 使用场景* 函数作为 实参 传递时* 极简原则* 参数类型可以省略, 会根据 形参自动推断* 参数类型省略后,且当只有一个参数时,可以省略 (),参数>1时,不可省略* 当函数体只有一行 阅读全文
posted @ 2021-10-20 11:47 学而不思则罔! 阅读(96) 评论(0) 推荐(0)
摘要: 高阶函数* 所谓"第一等公民"(first class),指的是函数与其他数据类型一样,* 处于平等地位,可以赋值给其他变量,也可以作为参数,传入另一个函数,* 或者作为别的函数的返回值。*高阶函数用法* 1. 函数可以作为值进行传递 / 声明函数指针* 语法* var 函数指针名称: (参数类型列 阅读全文
posted @ 2021-10-20 11:45 学而不思则罔! 阅读(46) 评论(0) 推荐(0)
摘要: 函数式编程* 函数式编程是种编程方式,它将电脑运算视为函数的计算。* 函数编程语言最重要的基础是λ演算(lambda calculus),* 而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)*函数式编程特性* 闭包、高阶函数、惰性计算、递归、函数是"第一等公民"** */ 阅读全文
posted @ 2021-10-17 19:03 学而不思则罔! 阅读(45) 评论(0) 推荐(0)
摘要: 函数和方法的区别 :* 广义上 函数和方法没有区别* 狭义上 类中的函数称之为方法* 注意 : 方法中可以定义函数,函数中也可以定义函数* 当 函数和方法重名时 用对象名称.方法名称 调用* 区别* 函数没有重载(overload)和重写(overwrite)* 方法可以进行重载(overload) 阅读全文
posted @ 2021-10-17 18:53 学而不思则罔! 阅读(320) 评论(1) 推荐(0)
摘要: 函数定义* 语法* def 函数名称(参数列表): 返回类型 = {* 方法体* [return]* }* 注意事项 : 参数列表 必须标注类型,因为Scala编译器无法推断 参数列表的数据类型** 函数至简原则(重点) - 能省则省* 1. return 可以省略,Scala会将方法体的最后一行的 阅读全文
posted @ 2021-10-17 18:31 学而不思则罔! 阅读(115) 评论(0) 推荐(0)
摘要: 循环中断 break、continue* 说明* 1. scala 去掉了break、continue* break替代方案* 1. 抛出异常* 2. 调用break() 引入 scala.util.control.Breaks* continue替代方案* 1. 使用if语句** try catc 阅读全文
posted @ 2021-10-17 18:03 学而不思则罔! 阅读(113) 评论(0) 推荐(0)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 35 下一页