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

for _, arg := range flag.Args() {

    go func() {

        path.Walk(arg, dupes, walkerrs)

        walkend <- true

    }()

}

for _ := range flag.Args() {

    if !<-walkend {

        os.Exit(1)

    }

}

第二次使用会_产生此错误:no new variables on left side of :=。我做错了什么?


呼如林
浏览 277回答 3
3回答

慕的地6264312

使用此行:for _ = range flag.Args() {如果省略空白标识符的初始化,则错误应消失。

汪汪一只猫

:=是一个简短的变量声明。_不是真正的变量,因此您无法声明它。如果=没有任何新变量,则应改用。

ibeautiful

对于该问题的更新,从Go 1.4(当前技巧)开始,您可以for range flag.Args() { ... }直接跳过该_ =部分使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go