在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Scala/ Scala 課堂:基礎(chǔ)(一)
Scala 課堂:高級類型(二)
Scala 課堂:基礎(chǔ)(三)
Scala 課堂:類型和多態(tài)類型(一)
Scala 課堂:基礎(chǔ)(二)
Scala課堂:基礎(chǔ)(五)
Scala 課堂:基礎(chǔ)(四)
Scala 課堂:基礎(chǔ)(六)
Scala 課堂:集合(二)
Scala課堂:類型和多態(tài)類型(二)
Scala 課堂:模式匹配和函數(shù)組合
Scala 課堂:高級類型(一)
Scala 課堂:集合(一)
Scala 課堂:基礎(chǔ)(一)

Scala 課堂:基礎(chǔ)(一)

這里我們轉(zhuǎn)載 Twitter 的 Scala 課堂 ,轉(zhuǎn)載的內(nèi)容基本來自 Twitter 的 Scala 課堂中文翻譯,部分有小改動.

表達(dá)式


scala> 1 + 1
res0: Int = 2

res0 是解釋器自動創(chuàng)建的變量名稱,用來指代表達(dá)式的計算結(jié)果。它是 Int 類型,值為2。

Scala 中(幾乎)一切都是表達(dá)式。

你可以給一個表達(dá)式的結(jié)果起個名字賦成一個不變量(val)。


scala>  val two = 1 + 1
two: Int = 2

變量

如果你需要修改這個名稱和結(jié)果的綁定,可以選擇使用 var

scala>  var name = "steve"
name: String = steve

scala>  name = "marius"
name: String = marius

函數(shù)

你可以使用 def 創(chuàng)建函數(shù).


scala> def addOne(m: Int): Int = m + 1
addOne: (m: Int)Int

在 Scala 中,你需要為函數(shù)參數(shù)指定類型簽名。


scala> val three = addOne(2)
three: Int = 3

如果函數(shù)不帶參數(shù),你可以不寫括號。


scala> def three() = 1 + 2
three: ()Int

scala> three()
res0: Int = 3

scala> three
res2: Int = 3

匿名函數(shù)

你可以創(chuàng)建匿名函數(shù)。


scala> (x: Int) => x + 1
res3: Int => Int = <function1>

這個函數(shù)為名為 x 的 Int 變量加1。


scala> res3(1)
res4: Int = 2

你可以傳遞匿名函數(shù),或?qū)⑵浔4娉刹蛔兞俊?/p>


scala> val addOne = (x: Int) => x + 1
addOne: Int => Int = <function1>

scala>  addOne(1)
res5: Int = 2

如果你的函數(shù)有很多表達(dá)式,可以使用{}來格式化代碼,使之易讀。


def timesTwo(i: Int): Int = {
  println("hello world")
  i * 2
}

對匿名函數(shù)也是這樣的


scala>  { i: Int =>
     |   println("hello world")
     |   i * 2
     | }
res6: Int => Int = <function1>

在將一個匿名函數(shù)作為參數(shù)進(jìn)行傳遞時,這個語法會經(jīng)常被用到