goformattingcoding-styleindentationgofmt

Indentation in Go: tabs or spaces?


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?


Solution

  • 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 go.dev 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.