gpt4 book ai didi

kotlin - 重复功能的目的

转载 作者:行者123 更新时间:2023-12-02 09:30:42 34 4
gpt4 key购买 nike

使用 kotlin,我可以通过至少两种方式重复一个操作:

val times = 5

// First option
for (i in 0 until times) {
print("Action $i")
}

// Second option
repeat(times) {
print("Action $it")
}

我想知道 repeat 的用途。

  • 如果可能的话,是否应该用 repeat 函数替换传统的 for 循环?
  • 或者这个函数有特殊情况吗?
  • repeat 功能有什么优点吗?
<小时/>

编辑

我对这个问题做了一些研究。只要 kotlin 是开源项目,我就可以下载源代码并检查 git 历史记录。

我发现

1) repeat 函数是 times 函数扩展的替代。

public inline fun Int.times(body : () -> Unit)

2) KT-7074times 函数已被弃用。但为什么呢?

最佳答案

这只是为了方便(缩短代码)。还有更多方法,例如使用 IntRangeforEach

(0..4).forEach {
println(it)
}

0 1 2 3 4

它们都有相同的目的,所以选择权在你。

您也无需担心性能,因为 repeatforEach 是内联函数,这意味着 lambda 代码会在编译时复制到调用站点时间。

关于kotlin - 重复功能的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53968995/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com