考虑以下 Go 程序:package mainfunc a(fn func()) { fn()}func main() { var b int a(func() { b = 12 })}(在 Go Playground 上运行上面的程序)b在第 8 行声明并在第 10 行赋值。但是,vet报告如下:兽医.exe:test.go:8:2: b 已声明但未使用如果确实使用它,为什么会导致警告?
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
变量的值永远不会被访问:只会被修改。因此,该变量永远不会用于任何效果。
如果变量对程序的行为有某种特定的影响,则该变量仅被视为“已使用”。
试试这个,警告就会消失。
func main() {
var b int
a(func() {
b = 12
})
// Accessing the value "b"
fmt.Println(b)
}
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消