scala 中=> 的含义

scala 在很多场景中都是用了 => 因此对 => 的用法做了总结。

=> (Take LEFT then do RIGHT.)

=> 有几种含义所有的含义都和它数学上面的含义相关。

  • 表示函数的返回类型(Function Type)
 scala> var x : (Int) => Int = double
  • 匿名函数
var xx = (x: Int) => x + 1
  • case 语句
scala> val max = x > y match {
  case true => x
  case false => y
}
  • 所谓参数传递给函数(高阶函数)
List(1,2,3).map { (x: Int) => x * 2 }

在使用playframework 里面的连接数据库的代码中我们使用了如下的程序。
在这里插入图片描述
这里conn =>就是作为参数传递给了withConnection 方法。这里使用{} 的原因就是等价于 db.withConnection(),只不过在Scala中()与{}很多时候可以替换,特别是参数是一个的时候基本都使用{}。写成{}是因为函数体是一个代码块,好看点。

需要用到的知识

匿名函数

没有名字的函数就是匿名函数,可以通过函数表达式来设置匿名函数

val triple = (x: Double) => {
println("x=" + x)
3*x }

高阶函数

能够接受函数作为参数的函数,叫做高阶函数 (higher-order function)。可使应用程序更加健壮。
一种是将一个函数当做另外一个函数的参数(即函数参数);另外一种是返回值是函数的函数。
在这里插入图片描述

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章