Одним словом: Нет .
gofmt
по своему замыслу, самоуверенному и не конфигурируемому. Go не сожалеет об этом. Из Go Proverbs :
Стиль Gofmt - не чей-то любимый, а Gofmt - любимый всеми.
Если этоможно было настроить gofmt
для этого или что-то еще, он сразу потерял бы большую часть своего значения, то есть раз и навсегда уладил все глупые аргументы форматирования.
Научитесь любить это. Как объясняет связанный видеоклип, подавляющему большинству опытных программистов на Го это нравится. Я ожидаю, что со временем вы тоже это сделаете.
И, как примечание, в вашем конкретном примере есть веская причина, по которой gofmt выбрал этот формат: однострочный, если оператор гораздо менее читабелен. Поместив действие в отдельной строке, для любого читателя сразу становится ясно, что делает код. Рассмотрим эти две альтернативы:
if foo && (bar > baz) || quxx { return foo && bar }
против
if foo && (bar > baz) || quxx {
return foo && bar
}
Когнитивная нагрузка для разбора первого примера намного больше, чем второго. Даже в очень упрощенном примере, таком как if x { return }
, разбиение строк никогда не повредит, и, возможно, это все же улучшает читаемость благодаря большей согласованности.