为什么我不能在以下Go代码中使用空白标识符?

Mat*_*ner 1 go

for _, arg := range flag.Args() {
    go func() {
        path.Walk(arg, dupes, walkerrs)
        walkend <- true
    }()
}
for _ := range flag.Args() {
    if !<-walkend {
        os.Exit(1)
    }
}
Run Code Online (Sandbox Code Playgroud)

第二次使用_给出了这个错误:no new variables on left side of :=.我做错了什么?

Mar*_*rot 7

:=是一个简短的变量声明._不是一个真正的变量,所以你不能声明它.

=当你没有任何新变量时,你应该使用它.


PGe*_*ene 6

使用此行:

for _ = range flag.Args() {

如果省略空白标识符的初始化,则错误应消失.