基本語法:
使用型別檢測及自動型別轉換
is運算子檢測乙個表示式是否某型別的乙個例項。如果乙個不可變的區域性變數或屬性已經判斷出為某型別,那麼檢測後的分支中可以直接當作該型別使用,無需顯示轉換,**示例:
fun getstringlength(obj:any):int?
//在離開型別檢測分支後,'obj'仍然是'any'型別
return
null
}fun main(args: array)
fun getstringlength(obj: any): int?
fun getstringlength(obj: any): int?
return
null
}
for 迴圈的使用
for (item
initems)
或者for (index in
items.indices) ")}
使用while迴圈
fun main(args: array) ")
index++
}}
使用when表示式
when表示式的神奇之處就是可以任意規則匹配when方法的引數obj值,甚至是乙個表示式,然後乙個帥氣又直接的else就返回匹配不到的情況值,真是牛了!
fun describe(obj:any):string
= when(obj)
區間:使用in運算子檢測某個數字是否在指定區間內:
普通區間:
val x = 10
val y = 9
if (x in
1..y+1)
區間迭代:
for (x in
1..5)
輸出結果: 123
45s
數列迭代:
for(x in
1 .. 10
step
2)輸出結果: 135
79for(x in
9downto
0step
3)輸出結果: 963
0
使用集合
集合for in普通迭代
for (item
initems)
使用when in運算子判斷集合內是否包含某例項
when
使用 lambda 表示式來過濾(filter)和對映(map)集合:
fruits
.filter
.sortedby
.map
.foreach
備註: 詳細請參見lambda函式及lambda表示式 Android Kotlin問題總結
kotlin雖然已經在2017年5月18日的谷歌i o被推舉為官方開發語言,但是問題還是有的。plugin supporting feature facet kotlin language is currently disabled.可以更新kotlin外掛程式試試。unable to parse ...
Android Kotlin 開發之旅
kotlin語言推出已經兩年之久了,作為一種火熱的全棧開發語言,本人卻一直沒有正式在專案中使用,最近專案重構中需要使用kotlin語言,這篇部落格也作為乙個學習筆記。在專案的bulid.gradle 中配置 buildscript dependencies kotlin 支援擴充套件,使用kotli...
Android Kotlin 擴充套件(七)
我相信 能考第一名的那個人,一定是每一科都不會差,哪怕是政治 地理這樣的科目。而我們身邊最優秀的人,也會把每一件事都盡力做好,不管是大事還是小事,是涉及自己或是別人。1.概念 kotlin 可以對乙個類的屬性和方法進行擴充套件,且不需要繼承或使用 decorator 模式。擴充套件是一種靜態行為,對...