变量已声明且未在循环中使用

时间:2018-01-09 00:03:30

标签: go

与功能混淆

package main

import "fmt"

func dominantIndex(nums []int) int {
    var max, max2 = -12423421, -12423421
    var i, j = -1, -1
    for k, num := range nums {
        if num > max {
            max, max2 = num, max
            i, j = k, i
        } else if num > max2 {
            max2 = num
            j = k
        }
    }
    if max >= max2*2 {
        return i
    }
    return -1
}


func main() {
    var a = []int{3, 6, 100, 1, 0 }
    fmt.Print(dominantIndex(a))
}

我必须在循环中插入一个无意义的语句,例如j = j。否则,它会引发./hello.go:7:6: j declared and not used。不知道是否有任何修复。

1 个答案:

答案 0 :(得分:1)

您为j分配了一个值,但是您没有使用j。那就是问题所在。您也可以将j保留,而不更改代码的功能。