Kotlin中repeat函数的index参数作用解析求助
Kotlin repeat函数中index参数的作用
repeat函数的核心是重复执行指定次数的lambda代码块,而括号里的index参数代表当前循环的迭代序号,从0开始递增,每完成一次循环,index就加1,直到循环次数耗尽。
结合你提供的两段代码具体分析:
第一段代码中的index用法
repeat(3) { index -> val discount = Random.nextInt(10) println("Attempt ${index+1}: $discount") if (discount > maximumDiscountValue) { maximumDiscountValue = discount } }
这里repeat(3)会执行3次循环,index依次取0、1、2。代码里用index+1转换成了从1开始的序号,用来在日志里显示“Attempt 1/2/3”,让你能清晰看到每次尝试的顺序,这个场景下index主要用于标识循环的当前次数,提升日志可读性。
第二段代码中的index用法
repeat(5) { index -> output += (index * number) }
这段代码里index直接参与了计算:repeat(5)执行5次循环,index依次为0、1、2、3、4。每次循环用当前的index乘以number(值为3),再累加到output上。具体计算过程是:
- 初始output=2
- 第1次循环(index=0):output = 2 + 0*3 = 2
- 第2次循环(index=1):output = 2 + 1*3 = 5
- 第3次循环(index=2):output = 5 + 2*3 = 11
- 第4次循环(index=3):output = 11 + 3*3 = 20
- 第5次循环(index=4):output = 20 + 4*3 = 32
最终println(output)会输出32,这里index是数值计算的核心变量,用来生成不同的乘数完成累加逻辑。
总结index的常见用途
- 标记循环的当前执行次数(比如生成序号、日志标注)
- 参与循环内的数值计算(累加、序列生成等)
- 当循环次数和集合/数组长度匹配时,可用来访问对应索引的元素
内容的提问来源于stack exchange,提问作者yves
相关产品推荐
相关产品推荐

