Golang编码约定:何时在代码中换行?

Golang编码约定:何时在代码中换行?,go,coding-style,conventions,Go,Coding Style,Conventions,关于围棋,我最喜欢的事情之一是gofmt。我喜欢编码风格在很多方面都是标准化的 然而,有一件事仍然困扰着我:断线。我发现,如果我看一下我公司的代码库,在何时断线的问题上没有明显的一致性 查看stdlib中的一些代码,例如fmt代码,我仍然不确定约定是什么(如果它存在的话) 例如,在fmt_integer函数上,if语句体后有换行符,但在fmt_sbx上没有 在戈兰有断线的惯例吗?最佳实践是什么 首先,在if块后最多有一个空行(因为go fmt) 第二,除了代码可读性之外,添加或不添加额外的空行并

关于围棋,我最喜欢的事情之一是
gofmt
。我喜欢编码风格在很多方面都是标准化的

然而,有一件事仍然困扰着我:断线。我发现,如果我看一下我公司的代码库,在何时断线的问题上没有明显的一致性

查看
stdlib
中的一些代码,例如
fmt
代码,我仍然不确定约定是什么(如果它存在的话)

例如,在
fmt_integer
函数上,if语句体后有换行符,但在
fmt_sbx
上没有


在戈兰有断线的惯例吗?最佳实践是什么

首先,在
if
块后最多有一个空行(因为
go fmt

第二,除了代码可读性之外,添加或不添加额外的空行并不遵循任何硬规则


“wiki”页面中甚至没有提到它。

谢谢您的回答。所以基本上你说的是,这方面没有标准惯例(不是问硬性规定)?任何可读的东西(有点主观的概念)都是有效的。我想知道谷歌或其他一些围棋密集型组织对此是否有书面说明。@orcaman“任何可读的东西(有点主观的概念)都是有效的”:是的,知道这里只有两种可能性:在
if
块后没有换行,或者只有一个换行符(不超过一个,所以有一个硬规则),您很容易得到每行之间有一个换行符的代码,这看起来很烦人,但可读性很强。有时很难说什么时候太多了。我最近写了一篇没有任何换行的文章,我觉得这段代码非常可读。