意外情况,编译 Go 时预期表达式错误



当我编译以下代码时,它会生成

*语法错误:在第 *case workerAddr = <- mr.registerChannel:*unexpected case, expecting expression*

我不知道为什么会发生这种情况,因为我只想通过任一通道设置工作Addr。 任何建议将不胜感激。

for i:= 0; i < mr.nMap; i++ {   
    go func(jobCount) {
        for {
            var workerAddr string
            Select {
                // get a worker either from registerChannel or from idle channel
                case workerAddr = <- mr.registerChannel:
                case workerAddr = <- mr.idleChannel:
            } 
            // omit the following code
        }
    }(i)
}

发生这种情况是因为您在应该写select的时候写了Select

Go 关键字都不是大写的,因此当编译器看到大写的单词时,它会立即知道它不是表达式,因此是语法错误。

最新更新