when表达式
最后更新于
when {
user.age >= 60 -> '老人'
user.age < 10 -> '小孩'
user.isMale() -> '男士'
else -> '女士'
}when 待判断的值 {
范围1 -> 返回值1
范围2 -> 返回值2
...
范围n -> 返回值n
else -> else返回值
}// 求斐波拉切数
fib := n => when n {
1, 2 -> 1
3.. -> fib(n-1) + fib(n-2)
else -> 0
}
foo := v => println(v, when v {
is Float -> '是浮点型'
is Bool -> '是布尔型'
is @time.Time -> '是时间类型'
is SomeCustomClass -> '是某个自定义的类型'
'a', 'b' -> '不是a就是b'
1..10 -> '在1到10之间'
else -> '不知道是啥'
})