是否有一個標準的Google Go編碼約定文檔,用於設置在Go源代碼中是否首選縮進或製表符?如果不是,那麼(統計上)更受歡迎的選擇是什麼?Go中的縮進:製表符或空格?
- 什麼是官方建議? (如有)
- 什麼是更受歡迎的選擇?
是否有一個標準的Google Go編碼約定文檔,用於設置在Go源代碼中是否首選縮進或製表符?如果不是,那麼(統計上)更受歡迎的選擇是什麼?Go中的縮進:製表符或空格?
的官方建議與
go fmt
格式化你的代碼或使用gofmt命令直接
gofmt -w .
你可以閱讀更多關於它here在golang.org博客,或Effective go文件:
縮進
我們使用製表符縮進,gofmt默認發射它們。只有必要時才使用空格。
根據http://golang.org/src/cmd/gofmt/doc.go的默認設置爲:
編輯:底部的原來的答案是不正確現在。鏈接源文件(當前25/07/2014)的正確部分是:
Gofmt格式Go程序。
它使用製表符(width = 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.
'-tabs'和'-tabwidth' [[去]](https://code.google.com/p/go/issues/detail?id = 7101)(並且'-comments'至少不再被記錄;沒有看得更仔細) – William
@billisphere謝謝,我已經用鏈接文件的相關部分更新了答案。 – Intermernet
當您使用製表符時,不會使用特定的製表符寬度,因此(以前的)製表符寬度選項不起作用,更新文本的「寬度= 8」部分應該被刪除。這個錯誤也存在於鏈接的源代碼中。 – thomasrutter
https://medium.com/@hoffa/400-000-github-repositories-1-billion-files-14-terabytes-of -code-spaces-or-tabs-7cfe0b5dd7fd#.o1d3cmm5r –