为了账号安全,请及时绑定邮箱和手机立即绑定

Go 编译已声明但未使用

Go 编译已声明但未使用

Go
大话西游666 2021-06-30 14:07:56
我在使用 Go 时遇到了一些问题,我确实在其中使用了标记 tag = true//  project main.gopackage mainimport (    "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")}
查看完整描述

2 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

“未使用”可以理解为“没有效果”。当您分配true给 时tag,这不会传播到外部,也不会对函数的结果产生任何影响。

如果您tag在条件中使用或返回它,那么编译器就不会再抱怨了。


查看完整回答
反对 回复 2021-07-05
?
茅侃侃

TA贡献1842条经验 获得超21个赞

你没有使用标签。你再次分配给它。使用意味着它在某物的右手边:if tag { or if tag && odd1 && 1 == testVal {



查看完整回答
反对 回复 2021-07-05
  • 2 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信