示例代码:
fun getScore(name: String) = if (name == "Tom") {
85
} else if (name == "AA") {
88
} else {
0
}
上面这段代码的意思写的也很明白
通过传入参数name获取相对应的分数信息
接下来使用kotlin中的when语句来实现这个功能
示例代码2:
fun getScore2(name: String) = when (name) {
"Tom" -> 85
"AA" -> 88
else -> 0
}
观察示例代码2发现when语句写法类似于switch写法
switch中使用case进行匹配 default使用默认值
when中使用->来匹配 else来设置默认值
根据kotlin中的语法糖写成了以上格式
示例代码3:
fun getScore3(name: String) = when {
name == "Tome" -> 85
name == "AA" -> 88
else -> 0
}
观察示例代码3 发现与示例代码2中的部分不一样
when语句后面取消了小括号 使用name字段与相对应的条件进行比对
当然两种方法都一样实现功能即可
示例代码4:
// 匹配变量类型
fun checkNumberType(num: Number) = when (num) {
is Int -> println("num is int")
is Float -> println("num is float")
is Long -> println("num is Long")
is Double -> println("num is double")
else -> println("num is support")
}
判断数据类型
for语句 简单示例代码:
fun forTest() {
//普通循环
for (i in 0..20) {
println("Test for" + i)
}
//递增循环
for (i in 0 until 20 step 5) {
println("until step" + i)
}
//递减循环
for (i in 10 downTo 1) {
println("downTo" + i)
}
}