scala 基礎筆記

2022-05-06 12:24:09 字數 1713 閱讀 3441

view bound:必須傳入乙個隱式轉換函式

class [t

content bound:必須傳入乙個隱式值

class [t : ordering]

!非同步傳送訊息

!? 同步傳送訊息,等待反饋資訊

!!非同步傳送完成之後,返回乙個future引用

scala列表操作符::把心元素整合到現有列表的最前端

scala裡面map 有2個特質:scala.collection.mutable 可變map

scala.collection.immutable 不可變map

scala 中如果一行開頭用"""  表示開始 , 結尾用""" 表示結束

操作符和操作方法:

1+2 與(1).+(2) 表達的效果是一樣

val  s = "hellon word".tolowercase   輸出結果:hello word

for yield

暫位符語法: _ > 0  堅持值是否大於 0

val f = (_: int) +(_ : int)

val b = sum(1, _: int, 3) b(2) 輸出結果 6

閉包減少**

private def filehere = new file(".").listfiles()

def fileending(query: string) =

def filecontaining(query: string)

def filesregex(query: string): unit =

def filematching(query: string, matcher: (string, string) =>boolean)

優化後的結果:

乙個方法之只要沒有實現(即沒有等號或者方法體) 它就是抽象的

具體(concrete)

多型動態繫結:

樣本類和模式匹配:case class name 方便呼叫

abstract

class

caseclass

def simplifytop(cass: caseclass) :caseclass =cass match

//的乙個引數匹配「-」,第二個引數匹配e的值

//通配匹配

expr match

expr match

}

匹配固定長度序列模式

匹配任意長度序列模式

帶有元組模式的匹配

型別模式匹配:

修改前:

class

person(var firstname: string, var secondname: string, var age: int)

新增beanproperty 後

如果在**中加入@scala.reflect.beanproperty 就是相當於設定了get/set 方法

class

person(fn:string, ln:string, a:int)

讀取檔案資訊

def findfilename(): unit =system.out.print("file"+files)

}

列表:參見list列表

scala學習筆記 基礎

scalaschool scala def three 1 2 three int scala three res2 int 3 scala three res3 int 3scala x int x 1 res2 int int scala res2 1 res3 int 2你可以傳遞匿名函式,或...

Scala學習筆記1 Scala基礎

特點 先編譯 scalac scala 再執行 scala 值與變數 常用型別 byte,char,short,int,long,float,double,boolean 方法定義 迴圈 lazy val 用時才會載入 lazy val a 2 預設引數 def sayname name strin...

Spark學習筆記 Scala基礎(一)

載入外部資料集 val rddtext sc.textfile hellospark.txt val 變數值不可修改,一旦分配不能重新指向別的值 var 分配後,可以指向型別相同的值 val lines sc.textfile hellospark.txt lines sc.textfile hel...