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

时间:2013-09-30 12:48:13

标签: go indentation

是否有一个标准的Google Go编码约定文档,用于设置是否首选标签或空格用于Go源代码中的缩进?如果没有,那么(统计上)更受欢迎的选项是什么?

  1. 官方推荐是什么? (如果有的话)
  2. 什么是更受欢迎的选择?

2 个答案:

答案 0 :(得分:151)

官方建议使用

格式化代码
go fmt

或直接使用gofmt命令

gofmt -w .

您可以在golang.org博客上或here文档中详细了解Effective go

  

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

答案 1 :(得分:19)

根据http://golang.org/src/cmd/gofmt/doc.go,默认值为:

编辑:底部的原始答案现在不正确。链接源文件的正确部分(当前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.