You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中‘until’与‘..’仅为语法差异吗?算法行为有区别吗?

Kotlin中0 until limit与0..limit循环的行为差异

这两种循环写法存在明确的算法行为差异,绝非单纯语法层面的区别,和.forEach()与普通for循环的语法简化关系完全不同。

核心区别

  • 0..limit 生成的是闭区间(ClosedRange),循环会遍历从起始值到结束值的所有整数,包含上限值limit。
    比如当limit=3时,循环变量i会依次取0、1、2、3。
  • 0 until limit 生成的是半开区间,循环仅遍历从起始值到limit-1的整数,不包含上限值limit。
    比如当limit=3时,循环变量i会依次取0、1、2。

代码示例

val limit = 3

// 闭区间循环,输出:0、1、2、3
for (i in 0..limit) {
    println(i)
}

// 半开区间循环,输出:0、1、2
for (i in 0 until limit) {
    println(i)
}

简单来说,二者的差异直接体现在遍历的元素范围上,是逻辑层面的不同,而非语法糖的区别。

内容的提问来源于stack exchange,提问作者younes alaoui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 05:42:04