【scala初學】scala 語法 聲明

    我通常學習一門語言,大多一天能寫個簡單小功能。 至今遇到兩個語言把我嚇到了,一個是彙編,一個就是這個貨,scala.java

    看spark源碼是怎麼把我逼瘋的。程序員

protected lazy val baseExpression: PackratParser[Expression] =
expression ~ "[" ~  expression <~ "]" ^^ {
case base ~ _ ~ ordinal => GetItem(base, ordinal)
} |
TRUE ^^^ Literal(true, BooleanType) |
FALSE ^^^ Literal(false, BooleanType) |
cast |
"(" ~> expression <~ ")" |
function |
"-" ~> literal ^^ UnaryMinus |
ident ^^ UnresolvedAttribute |
"*" ^^^ Star(None) |

 

這飄逸的手法。。express

 

    我上一章寫了hello world, 回顧下代碼ide

object Helloworld {
def main(args:Array[String]) = {
println("hellowold")
}
}

爲了一個(做爲java程序員的)良好的習慣,我仍是用main函數。而後咱們學會第一個利器:函數

var學習

var i = 1;
var j = ""
var m = 1.0
var n = List(1,2);

你會發現scala 很是像動態語言,自動識別類型,可是作個簡單測試測試

var i = 1
i = 1.0

若是是弱語言會正常編譯運行,可是若是是強語言,會出現編譯錯誤。 因此實際上在你聲明spa

var i = 1

的時候,已經被轉譯成了Int。 若是你在交互式窗口就能看到scala

var i=1
i:Int = 1

 

因此我在文章最開始定義的四種類型的徹底寫法是:源碼

 

var i:Int = 1
var j:String = ""
var m: Double = 1.0
var m1 : Float = 1.0f
var n : List[Int] = List(1,2)

 

最後補充一下常識:

scala支持的是java的八種基本類型

 

打印一下 i, 以下:

object Helloworld {
def main(args:Array[String]) = {
var i : Int = 1;
println(i)
}
}
相關文章
相關標籤/搜索