如何调试“语法错误:{”之前的意外分号或换行符?

时间:2017-06-25 04:04:52

标签: go

package main

import"fmt"

func main()
{
  firstnu :34
  secondnu :50
  fmt.println("The sum is :", a + b)
}

3 个答案:

答案 0 :(得分:4)

因为,在Golang中,Open brace不能放在单独的行上。感谢自动分号注射。

参考Go FAQGo Doc on Semicolons

  

为什么有括号但没有分号?为什么我不能把开口支架放在下一行呢?

     

Go使用括号括号进行语句分组,这是一种熟悉C系列中任何语言的程序员所熟悉的语法。但是,分号用于解析器,而不是用于人,我们希望尽可能地消除它们。为了实现这个目标,Go借用了BCPL的一个技巧:分隔语句的分号在形式语法中,但是在任何可能是语句结尾的行末尾的词法分析器自动注入,而不是预测。这在实践中非常有效,但具有强制支撑样式的效果。例如,函数的左括号不能单独出现在一行上。

main()函数之后的大括号将解决Joel建议的问题。

func main() { // Opening brace on the same line
    // Actual implementation
}

答案 1 :(得分:1)

将大括号放在main()

旁边
package main

import "fmt"

func main() {
    //..
}

答案 2 :(得分:0)

您的代码不正确

package main

import "fmt"

func main() {
  firstnu := 34
  secondnu := 50
  fmt.Println("The sum is :", firstnu + secondnu)
}