【发布时间】:2013-06-13 18:43:02
【问题描述】:
正确:
if(true) {
}
不正确:
if(true)
{
}
为什么要强制执行这种风格,是否与语言规范有关,或者仅仅是因为他们更喜欢一种风格而不是另一种风格?
【问题讨论】:
-
go 的编译器会自动为你输入所有分号。在不正确的版本中,它会在 if(true);{} 之后添加分号,这样是不正确的。
-
第一个版本在语法上是正确的,但在风格上很糟糕。除非需要,否则应使用
()。见Effective Go -
@deft_code 这一点意义都没有。你怎么能不在需要的地方使用 (),这是自相矛盾的。
-
@deft_code 你写的是“应该”而不是“不应该”
-
@Neutrino,对于 C 将
{替换为then和将}替换为end也可以这样说。然后你可以编写可读的 C。我认为 Go 设计者做出了一个伟大的决定来结束神圣风格的战争。 Go 应该只有一种风格,它应该有一种风格。一应是其计数的大小。阿门。 这个想法已经引起了人们的注意,自从 Go 在 Google 自动格式化程序中的普及以来,我们已经为我们使用的大多数语言编写了该程序。我不会错过能够自定义代码的缩进/空白样式。
标签: coding-style go curly-braces