[Kotlin] More Advanced "when" Constructs
Kotlin quot when more Advanced
2023-09-14 08:59:13 时间
Difference between "when" and Javascript "switch".
In Switch, you have to call "break"; but "when", you don't need to.
In Switch, the case expression can only be string / integer value; but "when" can be any expressions.
fun main() { val mode = 10 when (mode) { 5 -> println("mode is 5") 3*5 -> println("mode is 15") "Hey there".length -> println("value is string") in 1..10 -> println("mode is between 1 and 10") in 11..20 -> println("mode is between 11 and 20") in 21..30 -> println("mode is between 31 and 30") !in 1..9 -> println("mode is not between 1 and 9") } } // mode is between 1 and 10
fun main() { val random = Random().nextInt(50) + 1 when (random) { in 1..10 -> println("In 1 to 10: $random") in 11..20 -> println("In 11 to 20: $random") in 21..30 -> println("In 21 to 30: $random") in 31..40 -> println("In 31 to 40: $random") else -> println("Over 40: $random") } } // In 31 to 40: 35
相关文章
- 中国电信营业厅: 感受 Kotlin 的 "加速度"
- R8 编译器: 为 Kotlin 库和应用 "瘦身"
- android Kotlin int类型和Long类型转换
- 把 "格子衫" 改造得更时尚 | Kotlin & Jetpack 最佳实践技巧
- kotlin compose 升级的苦涩 | 一地鸡毛
- 耗时半天,我用 Kotlin 实现了 helang 何语言
- 02. Kotlin 变量、常量和类型
- 【Kotlin】Kotlin 语言集合中的高阶函数详解 ( 数据类 data class | maxBy | minBy | filter | map | any | count | find )
- 【Kotlin 协程】协程底层实现 ① ( Kotlin 协程分层架构 | 基础设施层 | 业务框架层 | 使用 Kotlin 协程基础设施层标准库 Api 实现协程 )
- 【Kotlin 协程】协程底层实现 ④ ( 结构化并发 | viewModelScope 作用域示例 )
- 【Kotlin】函数 ④ ( 匿名函数参数 | 匿名函数 it 关键字 )
- 【Kotlin】空安全 ⑤ ( 异常处理 | 捕获并处理异常 | 抛出自定义异常 )
- 【Kotlin】字符串操作 ② ( 字符串替换函数 replace | 字符串比较操作符 == 和 === | 字符串遍历 forEach )
- 【Kotlin】扩展函数 ② ( 扩展属性 | 为可空类型定义扩展函数 | 使用 infix 关键字修饰单个参数扩展函数的简略写法 )
- 在没有 Kotlin 的世界与 Android 共舞