Отступы в Go: табуляции или пробелы?

Существует ли где-нибудь стандартный документ по соглашениям о кодировании Google Go, в котором указывается, являются ли табуляции или пробелы предпочтительными для отступа в исходном коде Go? Если нет, то какой вариант статистически более популярен?

  1. Какова официальная рекомендация? (если есть)
  2. Какой выбор более популярен?

2 ответа

Решение

Официальной рекомендацией является форматирование вашего кода с

go fmt

или используя команду gofmt напрямую

gofmt -w .

Подробнее об этом можно прочитать здесь, в блоге golang.org или в документе Effective go:

вдавливание
Мы используем вкладки для отступов, и gofmt выдает их по умолчанию. Используйте пробелы, только если вы должны.

Согласно 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.
Другие вопросы по тегам