原创 Scala入門HelloScala

蘑菇雲課堂代碼 package com.dtspark.scala.basics /** * object作爲Scala中的一個關鍵字,相當於Java中的public static class這樣的一個修飾符,也就說object

原创 Scala入門之類型參數

1.泛型 泛型用於指定方法或類可以接受任意類型參數,參數在實際使用時才被確定,泛型可以有效地增強程序的適用性, 使用泛型可以使得類或方法具有更強的通用性。 在Scala中用方括號來定義類型參數,即用[]表示, 如 class Pa

原创 Scala入門之高級類型:類型投影

類型投影 類型投影的目的是將外部類Outter中定義的方法def print(i:Inner)=i,它可以接受做任意外部類對象中的Inner類。格式是 Outter#Inner 直接看代碼更容易理解 package com.dt

原创 Scala入門之正則表達式

正則表達式 Scala支持通過Regex類的scala.util.matching封裝正則表達式。 創建一個字符串,並調用r()方法如 val pattern = "Scala".r Scala中字符串隱式轉換爲一個RichS

原创 Scala特質的混入順序

代碼測試 package com.hlf.scala.basic /** * 測試多個特質中有同一個方法,混入順序的不同最終調用的結果 * 結果顯示: * 如果混入的特質是子父類型的話,調用的是子的方法 * 如果

原创 Scala入門之隱式轉換與隱式參數

1.隱式轉換 隱式轉換是一項強大的程序語言功能,它不僅能夠簡化程序設計,也能夠使程序具有很強的靈活性。 隱式函數的名稱對結構沒有影響.函數可以是任何名字,只看參數與返回,也就是看能不能把傳入的參數變成需要的類型就行

原创 Scala進階之核心力量和黃金定律

蘑菇雲課堂內容 Scala的核心力量是什麼? 基於自上而下和自下而上的軟件設計和編程實踐的基礎之上結合數據狀態不可變性並且融合了類型系統和隱式轉換技巧的函數式編程 說明1 自下而上和自上而下的編程方法完美結合

原创 Scala入門之外部命令

外部命令 在Java中我們可以使用Runtime.getRuntime().exec();來和系統交互。 在Scala中scala.sys.process提供了shell和系統交互的DSL,包括執行命令、邏輯操作、重定向、管道等

原创 Scala入門之提取器

提取器 這知識感覺多數跟case class配合使用,但是在與case class配合使用時就算不知道後面的工作機制也沒什麼關係,會用就行。 其實有必要的話可以自己寫提取器,而什麼時候用提取器,怎麼提高數據傳輸效率纔是難點 :(

原创 Scala進階之隱式轉換作用域等問題

1.隱式轉換作用域 關於隱式轉換查找的順序問題: 1. 簡單查找 class Implicits { implicit val content = "Java Hadoop" } object Implicits {

原创 Scala入門之包與繼承

1.包 Scala中的包與java有着諸多的相似之處,但Scala語言中的包更加靈活,實際開發的時候還是儘量使用java包的定義方式並將代碼集中進行管理, 這樣別人讀代碼的時候更方便,代碼更簡潔。包的使用有以下幾點:

原创 Scala入門之Array

蘑菇雲代碼 package com.dtspark.scala.basics /** * 大數據技術是數據的集合以及對數據集合的操作技術的統稱,具體來說: * 1,數據集合:會涉及數據的蒐集、存儲等,蒐集會有很多技術,存儲現在

原创 Scala入門之OOP

蘑菇雲代碼 package com.dtspark.scala.basics /** * 1,在Scala中定義類是用class關鍵字; * 2,可以使用new ClassName的方式構建出類的對象; * 3, 如果名稱

原创 Scala入門之部分應用函數與偏函數

1.部分應用函數 部分應用函數(Partial Applied Function)是指缺少部分參數的函數. package com.dt.scala.moguyun /** * 部分應用函數 * Created by

原创 Scala進階之App特質

App特質的作用 App特質的作用那就是延遲初始化,從代碼上看它繼承自DelayedInit,裏面有個delayedInit方法 trait App extends DelayedInit DelayedInit特質裏定義了