假设我想迭代 Kotlin 中除第一个元素之外的所有元素IntArray。目前,我正在这样做:
fun minimalExample(nums: IntArray): Unit {
for(num in nums.sliceArray(IntRange(1,nums.size-1))) println(num)
}
Run Code Online (Sandbox Code Playgroud)
是否有一个简单的语法可以像Python一样执行此操作(我不想指定数组的结束索引nums):
for (num in nums[1:])
Run Code Online (Sandbox Code Playgroud)
dev*_*rob 10
我认为你可以使用 Kotlin 的drop它将删除n数组的第一个元素。
fun minimalExampleWithDrop(nums: IntArray): Unit {
for(num in nums.drop(1)) println(num)
}
minimalExampleWithDrop(intArrayOf(1,2,3,4,5,6))
// 2
// 3
// 4
// 5
// 6
Run Code Online (Sandbox Code Playgroud)
Repl.it:https://repl.it/repls/SvelteShadyLivecd
您也可以使用slice列表和数组中存在的方法。以下是两者的示例:
val a = listOf(1, 2, 3, 4)
println(a.slice(1..a.size - 1))
val b = arrayOf(1, 2, 3, 4, 5, 6, 7, 8, 9)
println(b.slice(4..5))
Run Code Online (Sandbox Code Playgroud)
这将打印出:
[2, 3, 4]
[5, 6]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14987 次 |
| 最近记录: |