使用Kotlin WHEN子句进行比较 您所在的位置:网站首页 kotlin创建对象 使用Kotlin WHEN子句进行比较

使用Kotlin WHEN子句进行比较

2022-12-27 06:57| 来源: 网络整理| 查看: 265

val foo = 2 // doesn't compile when (foo) { > 0 -> doSomethingWhenPositive() 0 -> doSomethingWhenZero() < 0 -> doSomethingWhenNegative() }

我试图找到一个无界范围的比较,但也不能使这个工作?有没有可能把它写成一个无界范围?

// trying to get an unbounded range - doesn't compile when (foo) { in 1.. -> doSomethingWhenPositive() else -> doSomethingElse() }

你可以把整个表达式放在第二部分,这是可以的,但似乎是不必要的重复。至少它能编译和工作。

when { foo > 0 -> doSomethingWhenPositive() foo < 0 -> doSomethingWhenNegative() else -> doSomethingWhenZero() }

但我不确定这是否比我们多年来一直在做的if-else替代方案更简单。类似于:

if ( foo > 0 ) { doSomethingWhenPositive() } else if (foo < 0) { doSomethingWhenNegative() } else { doSomethingWhenZero() }

当然,现实世界中的问题比上面的问题更复杂,when子句很有吸引力,但并不像我所期望的那样适用于这种类型的比较。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有