摘要: Option是一个抽象类,有一个具体的子类Some和一个对象None,SOme针对有值的情况,None针对没有值的情况 当方法不确定是否有返回值时,可以返回Option[T],其中T为类型参数。对于这类方法,如果确实有T类型的对象需要返回, 会将该对象包装一个Some对象并返回;如果没有值需要返回, 阅读全文
posted @ 2020-02-14 19:31 后山前堂客 阅读(230) 评论(0) 推荐(0)
摘要: 遍历 List遍历 val list1 = (1 to 100).toList list1.foreach(i => println(i)) list1 foreach(i => println(i)) list1 foreach println Map遍历 scala> val mapDogs = 阅读全文
posted @ 2020-02-14 16:41 后山前堂客 阅读(186) 评论(0) 推荐(0)
摘要: 当函数的执行依赖于声明在函数外部的一个或多个变量时,则成这个函数为闭包。 scala> var sum = 0 sum: Int = 0 scala> val accumulator = (x:Int)=> sum += x //包含外部变量sum的闭包 accumulator: Int => Un 阅读全文
posted @ 2020-02-14 12:54 后山前堂客 阅读(115) 评论(0) 推荐(0)
摘要: 当一个函数包含其他函数作为其参数或返回一个函数时,该函数成为高阶函数。 【未完待续】 阅读全文
posted @ 2020-02-14 12:43 后山前堂客 阅读(113) 评论(0) 推荐(0)
摘要: 方法定义: def 方法名(参数名:参数类型):返回结果类型 = {方法体} ## 非匿名函数的定义和使用# 函数名为add,入参为Int类型的x,函数返回值 Int,函数体为 x+1scala> def add(x:Int):Int = {x + 1} add: (x: Int)Int scala 阅读全文
posted @ 2020-02-14 12:42 后山前堂客 阅读(217) 评论(0) 推荐(0)
摘要: 函数式编程将计算视为数学上的函数计算 函数和普通的值一样,是“头等公民”,可以像其他任何数据类型的值一样,被传递和操作 函数式编程成为越来越流行的编程范式: 大数据应用和并发需求的额驱动 纯函数的行为表现出与上下文无关的透明性和无副作用性,避免了多线程并发应用中最复杂的状态同步问题 Scala在架构 阅读全文
posted @ 2020-02-14 09:40 后山前堂客 阅读(120) 评论(0) 推荐(0)
摘要: case中的通配符 _ 相当于java中的default分支 match结构中不需要break语句来跳出判断,scala会从前往后匹配,一旦配到一个分支即停止 匹配字符: import scala.io.StdIn._ println("Please input the score Level: " 阅读全文
posted @ 2020-02-14 00:52 后山前堂客 阅读(371) 评论(0) 推荐(0)
摘要: 当定义一个类时,如果在class关键字前加上case关键字,则该类称为case类。 case类是一种特殊的类,它们经过优化以被用于模式匹配 Scala为case类自动重载了许多实用的方法,包括toString、equals和hashcode方法。 Scala为每一个case类自动生成一个伴生对象,其 阅读全文
posted @ 2020-02-14 00:36 后山前堂客 阅读(315) 评论(0) 推荐(0)