Go 中的缩进: 制表符还是空格?

是否有一个标准的 Google Go 编码约定文档来设置是否选项卡或空格是 Go 源代码缩进的首选?

如果有的话,官方的建议是什么?

107013 次浏览

官方建议是使用

go fmt

或者直接使用 gofmt 命令

gofmt -w .

你可以在 golang.org 博客上阅读更多关于它的内容,或者从 行动开始文档中:

压痕
我们使用制表符进行缩进,gofmt 默认情况下发出它们。只有在必要时才使用空格。

编辑2: 他原来在底部的答案现在是不正确的。 链接的源文件(当前30/12/2019)的正确部分是:

Gofmt 格式 Go 程序。 它使用制表符进行缩进,使用空格进行对齐。 对齐假定编辑器使用固定宽度的字体。

感谢 TehSphinX指出这一点!

这条线以下的所有信息都是错误的

编辑: 底部原来的答案现在是不正确的。链接的源文件(当前25/07/2014)的正确部分是:

Gofmt 格式 Go 程序。
它使用制表符(宽度 = 8)进行缩进,使用空格进行对齐。

原答案(不推荐) :

Formatting control flags:
-comments=true
Print comments; if false, all comments are elided from the output.
-tabs=true
Indent with tabs; if false, spaces are used instead.
-tabwidth=8
Tab width in spaces.