01-scala介紹

Scala 特性

面向?qū)ο筇匦?/h2>

Scala是一種純面向?qū)ο蟮恼Z言,每個(gè)值都是對象。對象的數(shù)據(jù)類型以及行為由類和特質(zhì)描述。
類抽象機(jī)制的擴(kuò)展有兩種途徑:一種途徑是子類繼承,另一種途徑是靈活的混入機(jī)制。這兩種途徑能避免多重繼承的種種問題

函數(shù)式編程

Scala也是一種函數(shù)式語言,其函數(shù)也能當(dāng)成值來使用。Scala提供了輕量級的語法用以定義匿名函數(shù),支持高階函數(shù),允許嵌套多層函數(shù),并支持柯里化。Scala的case class及其內(nèi)置的模式匹配相當(dāng)于函數(shù)式編程語言中常用的代數(shù)類型。

更進(jìn)一步,程序員可以利用Scala的模式匹配,編寫類似正則表達(dá)式的代碼處理XML數(shù)據(jù)。

靜態(tài)類型

Scala具備類型系統(tǒng),通過編譯時(shí)檢查,保證代碼的安全性和一致性。類型系統(tǒng)具體支持以下特性:
泛型類
協(xié)變和逆變
標(biāo)注
類型參數(shù)的上下限約束
把類別和抽象類型作為對象成員
復(fù)合類型
引用自己時(shí)顯式指定類型
視圖
多態(tài)方法

擴(kuò)展性

Scala的設(shè)計(jì)秉承一項(xiàng)事實(shí),即在實(shí)踐中,某個(gè)領(lǐng)域特定的應(yīng)用程序開發(fā)往往需要特定于該領(lǐng)域的語言擴(kuò)展。Scala提供了許多獨(dú)特的語言機(jī)制,可以以庫的形式輕易無縫添加新的語言結(jié)構(gòu):

任何方法可用作前綴或后綴操作符
可以根據(jù)預(yù)期類型自動(dòng)構(gòu)造閉包。

并發(fā)性

Scala使用Actor作為其并發(fā)模型,Actor是類似線程的實(shí)體,通過郵箱發(fā)收消息。Actor可以復(fù)用線程,因此可以在程序中可以使用數(shù)百萬個(gè)Actor,而線程只能創(chuàng)建數(shù)千個(gè)。在2.10之后的版本中,使用Akka作為其默認(rèn)Actor實(shí)現(xiàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 讀《快學(xué)Scala 》一書的摘要 Scala 運(yùn)行于JVM之上,擁有海量類庫和工具,兼顧函數(shù)式編程和面向?qū)ο蟆?在...
    abel_cao閱讀 1,380評論 0 8
  • 進(jìn)入長投是一個(gè)很偶然的機(jī)會(huì),在平時(shí)關(guān)注的公眾號(hào)里看到的,抱著試一試的心態(tài)支付了九元錢,沒想到加入小白訓(xùn)練營...
    努力實(shí)現(xiàn)小夢想閱讀 562評論 2 9
  • 林老師,是我縣中高三時(shí)的班主任,語文老師。避諱,名一惠。 農(nóng)歷八月的中秋,國慶中秋雙節(jié)來臨,一生難逢這八月里的八天...
    江蘇阿康閱讀 1,342評論 14 27
  • 我的故鄉(xiāng)和童年。我懷念并且熱愛著這些。 我要用文字讓它們不再被輕易忘記。 在南京城里上完了幼兒園我就去外公外婆身邊...
    Cony蕉棠閱讀 517評論 0 2

友情鏈接更多精彩內(nèi)容