【问题标题】:Getting syntax error: unexpected comma, expecting {出现语法错误:意外逗号,期待 {
【发布时间】:2015-06-21 18:43:10
【问题描述】:

我在 golang 中尝试、中断和继续,我做到了...

func main() {
    for k, i := 0, 0; i < 10; i++, k++ {
        for j := 0; j < 10; j++ {
            if k == 10 {
                fmt.Println("Value of k is:", k)
                break
            }
        }
    }
}

我在第一行for 收到此语法错误:

语法错误:意外逗号,应为 {

我不知道,正确的语法应该是怎样的。

【问题讨论】:

标签: go


【解决方案1】:

你需要同时初始化kifor k, i := 0, 0;

另外你不能这样做:i++, k++。相反,您必须这样做i, k = i+1, k+1

this reference in Effective Go:

最后,Go 没有逗号运算符,而 ++ 和 -- 不是语句 表达式。因此,如果您想为您运行多个变量 应该使用并行赋值(尽管排除了 ++ 和 --)。

//反转一个

for i, j := 0, len(a)-1; i < j; i, j = i+1, j-1 { a[i], a[j] = a[j], a[i] }

func main() {
    for k, i := 0, 0; i < 10;  i, k = i+1, k+1 {
        for j := 0; j < 10; j++ {
            if k == 10 {
                fmt.Println("Value of k is:", k)
                break
            }
        }
    }
}

另请注意,k 永远不会像这样达到 10,因此您的消息将不会打印。您同时递增ik,外部循环在i &lt; 10 处停止(因此k &lt; 10)。

【讨论】:

  • 是的,我知道,我只是在玩 for,break 并继续。感谢您的回答...
猜你喜欢
  • 2017-09-12
  • 2019-12-06
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
  • 2013-11-11
相关资源
最近更新 更多