when 語句而不是 if-else-if 鏈
when 語句是具有多個 else-if-branches 的 if 語句的替代:
when {
str.length == 0 -> print("The string is empty!")
str.length > 5 -> print("The string is short!")
else -> print("The string is long!")
}
使用 if-else-if 鏈寫的相同程式碼 :
if (str.length == 0) {
print("The string is empty!")
} else if (str.length > 5) {
print("The string is short!")
} else {
print("The string is long!")
}
就像使用 if 語句一樣,else-branch 是可選的,你可以根據需要新增任意數量的分支。你還可以擁有多行分支:
when {
condition -> {
doSomething()
doSomeMore()
}
else -> doSomethingElse()
}