Velvet Star Monitor

Standout celebrity highlights with iconic style.

general

Indentation in Go: tabs or spaces?

Writer Matthew Harrington

Is there a standard Google Go coding conventions document somewhere that sets whether tabs or spaces are preferred for indentation in Go source code?

What is the official recommendation, if any?

1

2 Answers

The official recommendation is formatting your code with

go fmt

or using the gofmt command directly

gofmt -w .

You can read more about it here on the golang.org blog, or from the Effective go document:

Indentation
We use tabs for indentation and gofmt emits them by default. Use spaces only if you must.

6

EDIT 2: he original answer at the bottom is now incorrect. The correct section of the linked source file (current 30/12/2019) is:

Gofmt formats Go programs. It uses tabs for indentation and blanks for alignment. Alignment assumes that an editor is using a fixed-width font.

Thanks to TehSphinX for pointing this out!

ALL INFO BELOW THIS LINE IS NOW INCORRECT

EDIT: The original answer at the bottom is now incorrect. The correct section of the linked source file (current 25/07/2014) is:

Gofmt formats Go programs.
It uses tabs (width = 8) for indentation and blanks for alignment.

Original answer (deprecated):

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.
4

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy