Kotlin-值范围

Kotlin提供ClosedRange,针对整数类型如IntRange, LongRange, CharRange进行了优化,支持遍历、反序遍历(通过downTo())和自定义步长(通过step())操作。值范围的创建可以通过rangeTo扩展函数,而浮点数使用通用的Comparable类型操作符。注意,downTo()和step()可能改变数列的last值以保持增量规律。" 134939529,14200632,全屏自适应百叶窗动画切换JS实现,"['JavaScript', '前端框架', 'CSS3动画', '网页特效', '动效开发']
摘要由CSDN通过智能技术生成

概述

在Kotlin的标准库中提供了ClosedRange

整数性的值范围

任何可比较大小的数据类型(comparable type)都可以定义值范围, 但对于整数性的基本类型, 在Kotlin中做了特殊的优化。在标准库中,定义了 IntRange , LongRange , CharRange等3个Range,我们可以直接使用。可以对这些值范围进行遍历. 编译器会负责将这些代码变换为 Java 中基于下标的 for 循环, 不会产生不必要的性能损耗.

for (i in 1..4) print(i) // 打印结果为: "123

值范围不仅能够按需便利,还能够反序遍历。如果反序遍历整数,那就得调用扩展函数downTo了:

for (i in 4 downTo 1) print(i) // 打印结果为: "4321"

如果你觉得值范围,就这些功能你就错了,它还能控制不长,也就是说间隔多少个遍历,step()函数可以你实现:

for (i in 1..4 step 2) print(i) // 打印结果为: "13"
for (i in 4 downTo 1 step 2) print(i) // 打印结果为: "42"

工具函数

rangeTo

class Int {
    //...
    operator fun rangeTo(other: Long): LongRange = LongRange(this, other)
    //...
    operator fun rangeTo(other: Int): IntRange = IntRange(this, ot
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值