好奇魔法成长裤怎么样今年的魔法未来是黄金会员能看呢还是fun会员。。有人知道吗??

接下来我来带大家逐步领略这些特点。以下面这段 Java 功能代码为例:

从以上代码可以看出我们这里实现的功能是:通过用户输入一个动物名称来得到其对应的种类信息。乍一看你可能会觉得上面的代码再正常不过,但是倘若我们的输入情形很多的话就会增加密密麻麻的限制条件,这肯定是我们不想看到的那么,让我们来看看通过 Kotlin 的 when 表达式如何实现相同功能:

OK以上就是该功能代码的 kotlin 实现方式,代码不仅简化了很多也省去了大量嘚 break 语句,避免了 Java 中因遗漏 break 而导致的 bug增强了安全性。如果匹配成功对应的分支便会执行,同时也可以把多个情况合并到同一个分支只需要通过逗号隔开,并没有额外的代码

PS:每个条件分支的处理通过在 -> 之后来进行。

首先我们需要重温一下表达式语句的区别。表达式有值并能作为另一个表达式的一部分来使用;而语句没有返回值。Java 中的控制结构皆为语句而在 Kotlin 中,除了循环体结构外大多数控制結构都是表达式。举个栗子?还是上面的例子,我们可以将其优化为以下代码:

此外我们也可以直接通过表达式函数来直接得到最终的結果:

Kotlin 中的 when 远比 Java 当中的 switch 要强大得多。switch 只能以常量作为分支条件而 when 允许使用任意对象。emmm~举个简单的例子吧:

Java 当中当我们的分支情况比較多或者每种分支可能会重复多次时,势必会通过 if-else 来各种判断而在 Kotlin 当中,一个 when 就能帮我们完成这些操作

此外,如果你想判断一个未知變量的类型而其可能类型有很多种可能性,那么也可以通过 when 来实现例如:

当然,我们也可以将代码块作为我们的分支体这时候,代碼块中最后一个表达式或者变量就是该分支体的返回结果如:

"我不知道这是什么动物"

上述代码中,kind 即为我们的 else 分支块中的最终返回结果

特别地,when 中的参数可能并非满足我们的需求我们可以选择省略该参数,例如这样:

通过以上的介绍我们不难发现:when 的使用场景要比 Java 嘚 switch 灵活、强大的多,同时我们也可以借助 when 来重构和优化复杂的 if-else 结构,以简化我们的代码提高代码的可读性。

我要回帖

更多关于 好奇魔法成长裤怎么样 的文章

 

随机推荐