Go中多个for循环中的多个变量

时间:2017-06-10 23:09:59

标签: go

我有两个带有两组不同变量的for循环,其中我还重用了下一个循环中的一个变量。代码看起来大致如下:

func naive(z, x, y []uint32, n int) {
    var i, j, k int
    var A, B uint32

    for i = 0; i < n; i++ {
        B = 0

        for j = 1; j <= i; j++ {
            muladd(x[j], y[i - j], &A)
        }

        for k = 1; j < n; j++, k++ {
            muladd(x[j], y[n - k], &B)
        }
    }
}

但是我在第二个for循环中收到错误消息。它说missing { after for clause。任何想法如何解决?

1 个答案:

答案 0 :(得分:1)

当你在最后一个循环中递增j和k时,不喜欢它

所以尝试将代码更改为

func naive(z, x, y []uint32, n int) {
    var i, j, k int
    var A, B uint32

    for i = 0; i < n; i++ {
        B = 0

        for j = 1; j <= i; j++ {
            muladd(x[j], y[i-j], &A)
        }

        for k = 1; j < n; j++ {
            muladd(x[j], y[n-k], &B)
            k++
        }
    }
}

注意我刚刚在循环中移动k++语句的最后一个循环