Blog-06-《一週快速上手Kotlin For Android》-之When分支
阿新 • • 發佈:2019-01-01
—《一週快速上手Kotlin For Android》簡介
目前Kotlin已正式成為Android的官方語言,作為Android開發者來說,學習和了解Kotlin也是屬於理所當然的事情,興許你覺得Java對於你來說才是真正的開發”利器”,使用Java你能發揮更高的效率,當然,如果如此你還是可以繼續使用Java來開發Android。但對於Kotlin來說,開發Android會變得更簡單一些,因為Kotlin其實就是Android開發中的語法糖,採用更簡短的程式碼,描述更多的邏輯而已。開發語言本身就沒有對錯和最優,每個開發語言被開發出來的時代背景不同,需要解決的主要問題也不同。選擇適合你自己的就可以。
一、when替代Java switch用法:
在Kotlin流程控制的中,與Java最為顯著的區別在於使用When分支徹底取代了Java中Switch分支。但具體的程式碼邏輯還是很一致的,上手也會很容易。首先來看看Java中的Switch分支的使用例項:
private void Test(){
String grade = "1";
switch (grade){
case “1":
Log.i(TAG, "一年級");
break;
case “2":
Log.i(TAG, "二年級" );
break;
case “3":
Log.i(TAG, "三年級");
break;
default:
Log.i(TAG, "暫無年級資訊");
}
}
修改為Kotlin分支使用例項:
private void Test(){
var grade = "1"
when(grade){
"1" -> Log.i(TAG, "一年級")
"2" -> Log.i(TAG, "二年級")
"3" -> Log.i(TAG, "三年級" )
else -> Log.i(TAG, "暫無年級資訊")
}
}
修改為Kotlin後,整體的程式碼會更加簡潔,對比主要有4點修改:
- switch關鍵字修改為when。
- case後的”:”符號,修改為 ->。
- 不需要break關鍵字。
- default修改為else。
二、when 分配多個值
var grade = "1"
when(grade){
"1", "2", "3", "4", "5", "6" -> Log.i(TAG, "小學")
"7", "8", "9" -> Log.i(TAG, "初中")
"10", "11" -> Log.i(TAG, "高中")
else -> Log.i(TAG, "暫無年級資訊")
}
若grade值為”10”或”11”時,均會執行第三個分支。
三、when分支處理範圍(表示式)
使用when表示式時,必須要有else分支。
var age = 6;
var str = when (age) {
in 6..11 -> "小學"
in 12..14 -> "中學"
in 15..17 -> "高中"
else -> “其他”
}
print(str)
在處理範圍時使用 in 關鍵字即可。
歡迎關注我的公眾號,分享更多的原創文章,關於技術、關於感悟。