Scala入門到放棄——第一節 Scala語言初步
阿新 • • 發佈:2018-12-25
- Scala簡介
Scala(Scala Language的簡稱)語言是一種能夠運行於JVM和.Net平臺之上的通用程式語言,既可用於大規模應用程式開發,也可用於指令碼程式設計,它由由Martin Odersk於2001開發,2004年開始程式執行在JVM與.Net平臺之上,由於其簡潔、優雅、型別安全的程式設計模式而受到關注。
2、Scala特點
1、純面向物件程式語言
2、函數語言程式設計語言
函數語言程式設計語言應支援以下特性:
(1)高階函式(Higher-order functions)
(2)閉包( closures)
(3)模式匹配( Pattern matching)
(4)單一賦值( Single assignment )
(5)延遲計算( Lazy evaluation)
(6)型別推導( Type inference )
(7)尾部呼叫優化( Tail call optimization)
(8)型別推導( Type inference )
3、Scala語言具有很強的相容性、移植性 Scala運行於JVM上,能夠與JAVA進行互操作,具有與JAVA一樣的平臺移植性
4、Scala語法的簡潔
- Scala語言初步
3.1、變數定義
//宣告一個val變數與java final關鍵字宣告的變數一樣一旦被賦值,便不能更改 scala> val helloString="Hello World" helloString: String = Hello World //也可以進行型別指定 scala> val helloString:String="Hello World" helloString: String = Hello World //String其實就是java.lang.String scala> val helloString:java.lang.String="Hello World" helloString: String = Hello World //不能被重新賦值,因為它是val變數 scala> helloString="Hello Crazy World" <console>:8: error: reassignment to val helloString="Hello Crazy World"
下面給出的延遲載入變數:
//lazy關鍵字宣告變量表示該變數不會馬上賦值而在真正被使用時才賦值
scala> lazy val helloString="Hello Crazy World"
helloString: String = <lazy>
//在真正使用時被賦值
scala> helloString
res1: String = Hello Crazy World
scala中也存在可變變數,即隨著程式的執行,變數內容可以動態變化:
//var 宣告可變變數 scala> var helloString="Hello Cruel World" helloString: String = Hello Cruel World //重新賦值 scala>helloString="GoodBye Cruel World" helloString: String = GoodBye Cruel World
3.2、函式初步
scala中通過下列方式進行函式定義:
//定義了一個函式,函式中使用return返回結果
scala> def add(a:Int,b:Int):Int={return a+b}
add: (a: Int, b: Int)Int
scala> add(1,2)
res3: Int = 3
//可以省去return,scala會將最後一個執行語句作為函式的返回值
scala> def add(a:Int,b:Int):Int={a+b}
add: (a: Int, b: Int)Int
//省去返回值型別,scala會自動進行型別推斷
scala> def add(a:Int,b:Int)={a+b}
add: (a: Int, b: Int)Int
scala> add(1,2)
res4: Int = 3
3.3、HelloWorld應用程式
package cn.xtwy.scala.chapter01
//scala應用程式同樣採用main方法作為應用程式的入口
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello World")
}
}