这是关于学习Kotlin的这一多部分系列的第22篇文章。如果您想了解更多信息,请参阅我们的 系列索引。可在此处找到此代码 。

我在Kotlin最喜欢的功能之一是 范围。您可以轻松 1…10 地获得从1到10的数字范围。另外,我发现我想与Kotlin合作的方式很多,就是使用集合,比如列表和数组。

对于所有这些,我们经常想知道范围或集合中何时存在某些东西,这就是 in 运算符进入的位置。在下面的示例中,我们使用 in 运算符首先检查数组中的值,然后在范围,然后是字符串中的子字符串; 以下每个示例都将返回true。

val letters = arrayOf(“a”,“b”,“c”,“d”,“e”)
的println(“C” 中的 字母)
的println(5 在 1。10)
println(“猫 在帽子里” 中的 “猫”)

当然,Kotlin也允许我们将它添加到我们自己的类中。Koans的例子从一个代表一系列日期的类开始。

class DateRange(val start:MyDate,val endInclusive:MyDate)

然后我们添加一个名为的运算符函数 contains,它检查提供的值是否落在类的两个日期之间:

class DateRange(val start:MyDate,val endInclusive:MyDate):Iterator < MyDate > {
operator fun 包含(d:MyDate)= start <= d && d <= endInclusive
}

使用这个新函数,我们可以编写自己的 in 语句,例如:

fun checkInRange(date:MyDate,first:MyDate,last:MyDate):Boolean {
返回 日期 的 日期范围(第一,最后)
}

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐