Scala语言学习
= 和=>
def add(x:Int,y:Int) = {
x+y
}
此时没有写返回值,也没有等号,无论函数内部有没有返回值,返回值都是Unit def add(x:Int,y:Int){
x+y
}
小括号和花括号
可变长参数
Lazy
Implict参考: 泛型override def apply[A](xs: A*): List[A] = xs.toList def ::[B >: A] (x: B): List[B] = Partial Functions(偏函数)
例如:PartialFunction[A,B],其中接收一个类型为A的参数,返回一个类型为B的结果 完整偏函数例子 val divide = new PartialFunction[Int,Int] {
def isDefinedAt(x: Int): Boolean = x != 0 //判断x是否等于0,当x = 0时抛出异常
def apply(x: Int): Int = 100/x
}
结合case语句 val divide1 : PartialFunction[Int,Int] = {
case d : Int if d != 0 => 100/d //功能和上面的代码一样,这就是偏函数的强大之处,方便,简洁!!
}
多个case使用 val rs : PartialFunction[Int,String] = {
case 1 => "One"
case 2 => "Two"
case _ => "Other"
}
Apply
Future
import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global
使用示例: Future {
...
}
在执行Future.apply{异步代码块}时,主线程将异步代码块交给新的线程,新起的线程负责异步代码块的计算,而主线程则解放出来,执行下一步。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 我可以在Angular JS promise api中使用jQuery.ajax吗?
- angular 1.6 $http.get(...).success is not a function 解
- 通过PID操纵ssh上的进程
- scala – 如何在工作表中停止程序执行?
- 【数据结构】布隆过滤器
- Nginx 管理脚本 For Windows
- 怎样用grep匹配多个字符串? grep -E 'bbbbbd|bbbbbb&#
- 单元测试 – 如何使用Jasmine Karma为现有的Angular2应用程
- angular – 使用hasError()进行验证的表单生成器抛出错误ER
- angularjs – 角度JS – 在非依赖服务之间进行通信