IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
Scala是什么呢?和我們所熟知的Java語言一樣,它也是一門編程語言。了解過大數(shù)據(jù)的朋友都應(yīng)該聽說過Spark框架,那么Spark的源碼就是用Scala來寫的。所以,如果我們要學(xué)習(xí)Spark,首先要熟悉Scala的語法。并且,如果我們Scala掌握的很好,那么就可以研究Spark源碼了,這是多么令人激動的一件事情呢。
這篇文章中,我們先來了解下Scala的特點吧。
1. 與Java的無縫整合
Scala也是運行在JVM上,所以可以和Java無縫整合。Scala可以在任何地方,調(diào)用Java類或接口中的方法。
2. 類型推斷
熟悉Java的朋友都知道,Java中有8種基本數(shù)據(jù)類型:byte、short、int、long、float、double、boolean、char。并且,聲明變量時都需要指明類型。而在Scala中,聲明變量都是用var或val聲明,不用指明具體的類型。變量的類型會根據(jù)所賦值的數(shù)據(jù)類型自動推斷。在Scala中,不僅變量的類型可以自動推斷,方法的返回值類型大部分情況下也是可以省略的。這些都使得Scala更加靈活和簡約。在Scala中推尚的就是簡約,能省則省。如果您深入學(xué)習(xí)Scala,就會對這一點有更深的體會哦!
3. 并發(fā)和分布式
Scala天生就是并發(fā)和分布式的。Scala集合上可以使用數(shù)據(jù)并行操作。Scala中的Actor可以實現(xiàn)類似于多線程的功能,同時又沒有多線程的并發(fā)問題。
4. 特質(zhì)(TRAITS)
Scala中的特質(zhì)類似于Java中的接口,但是功能比接口功能更強大。簡單來說,大家可以把特質(zhì)理解為Java中接口和抽象類的結(jié)合體。
5. 模式匹配
Java中的switch語句,大家都應(yīng)該很熟悉,可以做常量數(shù)據(jù)的匹配。而Scala中的模式匹配,功能要強大的多哦,它不僅可以匹配常量,還可以匹配各種數(shù)據(jù)類型。
6. 高階函數(shù)
提到Scala,我們就不能不說說它的高階函數(shù)了。Scala的一個最大特性是面向?qū)ο,另一大特性就是面向函?shù)了。函數(shù)在Scala中是一等公民,是可以獨立存在的。并且,這里的函數(shù)不僅可以是普通的函數(shù),還可以是高階函數(shù)。那么什么是高階函數(shù)呢?簡單來說,就是如果我們把函數(shù)理解為一種數(shù)據(jù)類型,那么在這里,函數(shù)是可以作為另一個函數(shù)的參數(shù)來傳遞或者作為其他函數(shù)的返回值返回,這就是高階函數(shù)。
>>本文地址:http://littlerockbway.com/zhuanye/2019/48239.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個方向的工作?