Не рекомендуется ли использовать однострочные циклы for или операторы if в Go? - PullRequest
0 голосов
/ 18 сентября 2018

Например, простая проверка на пустую строку:

if s == "" { return 0 }

Или цикл for для предварительного заполнения массива -1 (я не думаю, что есть более простой способ сделать это):

for i := range m { m[i] = -1 }

Это вообще не рекомендуется, даже если эти функции чрезвычайно просты в целом? Я не хочу быть педантичным, но, как правило, мне любопытно, что это за чувство.

1 Ответ

0 голосов
/ 18 сентября 2018

Обычно культура в Go состоит в том, чтобы отформатировать ваш код так, как его отформатирует команда go fmt. (Причины, по которым существует принятый стиль, приведены в связанной статье.)

В той степени, в которой go fmt помещает структурированные тела утверждений в отдельные строки, это означает, что да, практика "не поощряется" в сообществе, но только из-за желания общего поиска как можно большего количества исходного кода Go .

Причины , почему однострочники не являются частью go fmt, не так важны, как тот факт, что go fmt был выбран в качестве канонического стиля. Если вы хотите поспорить о плюсах и минусах одной строки, вы можете посмотреть на дебаты, проведенные практически на любом языке фигурных скобок, поскольку они не являются уникальными для Go. Конечно, использование скобок в Go делает вопрос немного отличным от, скажем, C или Java, где несвязанные тела означают, что сложнее «добавить новый оператор в тело», но в основном применимы многие из тех же аргументов для читабельности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...