400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > 大數(shù)據(jù) > 【大數(shù)據(jù)基礎(chǔ)知識(shí)】大數(shù)據(jù)之Scala是什么?

【大數(shù)據(jù)基礎(chǔ)知識(shí)】大數(shù)據(jù)之Scala是什么?

  • 發(fā)布: 大數(shù)據(jù)培訓(xùn)
  • 來(lái)源:大數(shù)據(jù)干貨資料
  • 2019-12-27 17:32:06
  • 閱讀()
  • 分享
  • 手機(jī)端入口

Scala是什么呢?和我們所熟知的Java語(yǔ)言一樣,它也是一門編程語(yǔ)言。了解過(guò)大數(shù)據(jù)的朋友都應(yīng)該聽(tīng)說(shuō)過(guò)Spark框架,那么Spark的源碼就是用Scala來(lái)寫的。所以,如果我們要學(xué)習(xí)Spark,首先要熟悉Scala的語(yǔ)法。并且,如果我們Scala掌握的很好,那么就可以研究Spark源碼了,這是多么令人激動(dòng)的一件事情呢。

這篇文章中,我們先來(lái)了解下Scala的特點(diǎn)吧。

1. 與Java的無(wú)縫整合

Scala也是運(yùn)行在JVM上,所以可以和Java無(wú)縫整合。Scala可以在任何地方,調(diào)用Java類或接口中的方法。

2. 類型推斷

熟悉Java的朋友都知道,Java中有8種基本數(shù)據(jù)類型:byte、short、int、long、float、double、boolean、char。并且,聲明變量時(shí)都需要指明類型。而在Scala中,聲明變量都是用var或val聲明,不用指明具體的類型。變量的類型會(huì)根據(jù)所賦值的數(shù)據(jù)類型自動(dòng)推斷。在Scala中,不僅變量的類型可以自動(dòng)推斷,方法的返回值類型大部分情況下也是可以省略的。這些都使得Scala更加靈活和簡(jiǎn)約。在Scala中推尚的就是簡(jiǎn)約,能省則省。如果您深入學(xué)習(xí)Scala,就會(huì)對(duì)這一點(diǎn)有更深的體會(huì)哦!

3. 并發(fā)和分布式

Scala天生就是并發(fā)和分布式的。Scala集合上可以使用數(shù)據(jù)并行操作。Scala中的Actor可以實(shí)現(xiàn)類似于多線程的功能,同時(shí)又沒(méi)有多線程的并發(fā)問(wèn)題。

Scala是什么?

4. 特質(zhì)(TRAITS)

Scala中的特質(zhì)類似于Java中的接口,但是功能比接口功能更強(qiáng)大。簡(jiǎn)單來(lái)說(shuō),大家可以把特質(zhì)理解為Java中接口和抽象類的結(jié)合體。

5. 模式匹配

Java中的switch語(yǔ)句,大家都應(yīng)該很熟悉,可以做常量數(shù)據(jù)的匹配。而Scala中的模式匹配,功能要強(qiáng)大的多哦,它不僅可以匹配常量,還可以匹配各種數(shù)據(jù)類型。

6. 高階函數(shù)

提到Scala,我們就不能不說(shuō)說(shuō)它的高階函數(shù)了。Scala的一個(gè)最大特性是面向?qū)ο,另一大特性就是面向函?shù)了。函數(shù)在Scala中是一等公民,是可以獨(dú)立存在的。并且,這里的函數(shù)不僅可以是普通的函數(shù),還可以是高階函數(shù)。那么什么是高階函數(shù)呢?簡(jiǎn)單來(lái)說(shuō),就是如果我們把函數(shù)理解為一種數(shù)據(jù)類型,那么在這里,函數(shù)是可以作為另一個(gè)函數(shù)的參數(shù)來(lái)傳遞或者作為其他函數(shù)的返回值返回,這就是高階函數(shù)。

文章“【大數(shù)據(jù)基礎(chǔ)知識(shí)】大數(shù)據(jù)之Scala是什么?”已幫助

>>本文地址:http://m.hqfphsz.com/zhuanye/2019/48239.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME