如何在Go中使用数组范围添加嵌套循环的索引?

时间:2019-03-21 18:02:10

标签: arrays for-loop go data-structures

我正在打印数字索引,该索引导致用户通过输入输入的总和。我基本上使用了使用i&j的两个循环并迭代直到数组长度的传统方法。但是,当涉及到Go语言时,我们确实可以选择使用Go中的另一种格式来获取数组的索引和键值。

这是我的工作代码:

func findKIndex(arr []int, k int) (int, int) {
    index1, index2 := 0, 0
    Length := len(arr)
    for i := 0; i < Length; i++ {
        for j := i + 1; j < Length; j++ {
            if arr[i]+arr[j] == k {
                index1 = i
                index2 = j
            }
        }
    }
    return index1, index2
}

如何使用:

for idx, key := range arr{
    for idx2, key2 := range arr {
        //statements
    }
}

基本上,我无法确定使用外部索引+1来启动内部索引,或者可能无法在一个循环中完成。

1 个答案:

答案 0 :(得分:1)

只需迭代从idx+1开始的切片:

https://play.golang.org/p/KDITT8zQ6q-

for idx, key := range arr{
    for idx2, key2 := range arr[idx+1:] {
        //actual second index is idx + idx2 + 1
        //statements
    }
}