-
List基本語法:
定義:val a = List(1,2,3,4),val b = 1::2::3::4::Nil
數據與集合拼接:val b = 0::a(只能拼在前面)
集合與集合拼接:a:::b或a++b
head:取得List頭部數據
tail:取得List除頭部數據外的集合
isEmpty:集合是否為空
查看全部 -
@annotation.tailrec告訴編譯器進行尾遞歸的優化
查看全部 -
尾遞歸函數
查看全部 -
柯里化的例子
查看全部 -
柯里化函數:把具有多個參數的函數轉換成一條函數鏈,每個節點上是單一參數
查看全部 -
匿名函數:函數常量,無名字
def的函數:函數變量,有名字
查看全部 -
用函數作為形參或返回值的函數稱為高階函數
查看全部 -
Call By Value:一般求值策略,當實參為表達式時先計算表達式值再傳遞給形參,只求值一次
Call By Name:特殊求值策略,在參數列表的參數類型前加入=>,直接傳遞,用到時再求值,會重復求值
查看全部 -
_ 為通配符,通配所有對象
匹配
val match{
case 1 => "one"
case 2 => "two"
case _ => "others" //default
}
查看全部 -
if else 是表達式不是語句
if(Boolean) val else val2
val l = List("","","")
for(
s<-l
//if()
)println(s)
val result_for=for(
s<-l
s1=s.toUpperCase()
)yield(s1)//將s1加入集合中
result_for.foreach(println)
查看全部 -
編寫scala程序要extends App
定義函數:def 函數名(參數名:參數類型):返回類型={代碼塊}
返回類型有時可省略
代碼塊中只有一句代碼可不加{}
多句代碼如寫在一行以 ; 為分割,如寫在多行則無需分割
查看全部 -
常量定義:
var x:數據類型=值
數據類型默認為Int,首字母大寫,Boolean、String可省略
Void類型:val x:Unit=()
def 函數名=函數體,拋出異常返回Nothing
字符串插值:s"my name is ${name}"
s不加即引號內本身的意思
查看全部 -
Scala類型體系
查看全部 -
val 定義常量
var 定義變量
lazy val 定義惰性常量
類型自動推導
查看全部 -
keyword查看全部
舉報