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)。可使應用程序更加健壯。
一種是將一個函數當做另外一個函數的參數(即函數參數);另外一種是返回值是函數的函數。
在這裏插入圖片描述

在這裏插入圖片描述

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