- 函數(shù)定義與簡化
fun sum(a: Int,b: Int) = a+b
兩種變量生命關(guān)鍵字
val
僅能賦值一次,可分離聲明與幅值
var
一般變量nullable 聲明
var socket :Socket
聲明socket
不可空堂湖,無須做檢查闲先,編譯器會(huì)自動(dòng)警告(Error)
var socket :Socket?
聲明socket
可空,必須做空檢查字符串模板
print("$a+$b=" + sum(a, b))
使用$
加關(guān)鍵字的方式在字符串中引用變量的值
使用${表達(dá)式}
的方式在字符串中應(yīng)用表達(dá)式的返回值
- 類型檢查與自動(dòng)轉(zhuǎn)換
fun ex(obj: Any): Int {
if (obj is String) {
//類型被自動(dòng)轉(zhuǎn)換為String
return obj.length
}
//此處obj類型仍然是Any
return -1
}
每次使用 is 后都會(huì)對(duì)后面同一作用域內(nèi)的參數(shù)進(jìn)行類型轉(zhuǎn)換
-
when
表達(dá)式
fun describe(obj: Any): String =
when (obj) {
1 -> "One"
"Hello" -> "Greeting"
is Long -> "Long"
!is String -> "Not a string"
else -> "Unknown"
}
- 范圍表達(dá)式
val x=3
if(x !in 1..10){
print(x)
}
- 集合操作
for(item in items){
print(item)
}
- Lambda 表達(dá)式
collections
.filter{ it.startsWith("a")}
.sortedBy{it}
.map{it.toUpperCase()}
.forEach{println(it)}