Go遇到了一些问题,我确实在tag = true
// project main.go
package main
import (
"fmt"
)
func main() {
var m, odd1, odd2, in1, in2 int
tag := false
fmt.Scan(&m)
for i := 0; i < m; i++ {
fmt.Scan(&in1, &in2)
odd1 += in1
odd2 += in2
if (in1+in2)&1 == 1 {
tag = true
}
}
if odd1&1 == 0 && odd2&1 == 0 {
fmt.Print("0")
return
}
if odd1&1 == 0 && odd2&1 == 1 || odd1&1 == 1 && odd2&1 == 0 {
fmt.Print("1")
return
}
fmt.Print("-1")
}
答案 0 :(得分:4)
'未使用'可以理解为“无效”。在您将true
分配给tag
时,
这不会传播到外面,也不会影响函数的结果。
如果您在条件中使用tag
或将其返回,则编译器不会再抱怨。
答案 1 :(得分:0)
您没有使用标签。你再次分配给它。使用意味着它位于某些东西的右侧:if tag { or if tag && odd1 && 1 == testVal {
这是Christopher Pfohl的回答