在Go中,如何编写多行语句?

时间:2011-06-23 20:48:16

标签: go

在python中,我们使用反斜杠来指示当前语句继续到下一行

例如,

a = b + c + s \
    + x + y

或简单地说,

a = b + c + s +
    x + y

用Go语言可以做到吗?感谢

2 个答案:

答案 0 :(得分:53)

当然可以,只需将操作员放在最后,例如:

a = b + c + s +
    x + y

另请注意,在操作员面前不可能破坏线路。以下代码无效

a = b + c + s
    + x + y

规则在herespecification中描述。

答案 1 :(得分:9)

有趣的是,Go语言规范本身在每个语句的末尾都需要使用分号,但是词法分析器会在编译之前立即在看起来像语句的行的末尾插入隐式分号。

因此,为了防止在未完成的行结束时出现不需要的分号,您需要做的就是确保该行不会以某些可能使看起来像完整语句的内容结束。

换句话说,避免在变量,常量,函数,关键字或后缀运算符中结束不完整的行(例如++)。

那会留下什么?好吧,我想到了一些事情 - 例如中缀运算符(例如=+),逗号,或者打开paren或大括号或括号。