力扣 9題 迴文數 阿新 • • 發佈:2021-07-08 scala學習第一天 Scala程式語言抓住了很多開發者的眼球。如果你粗略瀏覽Scala的網站,你會覺得Scala是一種純粹的面向物件程式語言,而又無縫地結合了指令式程式設計和函數語言程式設計風格。Christopher Diggins認為: 不太久之前程式語言還可以毫無疑意地歸類成“命令式”或者“函式式”或者“面向物件”。Scala代表了一個新的語言品種,它抹平了這些人為劃分的界限。 根據David Rupp在部落格中的說法,Scala可能是下一代Java。這麼高的評價讓人不禁想看看它到底是什麼東西。 Scala有幾項關鍵特性表明了它的面向物件的本質。例如,Scala中的每個值都是一個物件,包括基本資料型別(即布林值、數字等)在內,連函式也是物件。另外,類可以被子類化,而且Scala還提供了基於mixin的組合(mixin-based composition)。 與只支援單繼承的語言相比,Scala具有更廣泛意義上的類重用。Scala允許定義新類的時候重用“一個類中新增的成員定義(即相較於其父類的差異之處)”。Scala稱之為mixin類組合。 Scala還包含了若干函式式語言的關鍵概念,包括高階函式(Higher-Order Function)、區域性套用(Currying)、 巢狀函式(Nested Function)、序列解讀(Sequence Comprehensions)等等。