суббота, 23 февраля 2019 г.

Go FAQ: Почему в Go есть фигурные скобки, но нет точек с запятой? И почему я не могу поставить открытие фигурной скобки на следующей строке?

Go использует скобки для группировки операторов, синтаксис знакомый программистам, которые работали с любым языком из семьи C. Точка с запятой, однако, для парсеров, а не для людей, и разработчики языка хотели устранить их насколько возможно. Для достижения этой цели, Go использует уловку из языка BCPL: точки с запятой, которые разделяют утверждения, находятся в формальной грамматике, но вводятся автоматически, без раздумий, лексером в конце любой строки, которая может быть концом оператора. Это работает очень хорошо на практике, но имеет эффект, того что это ограничивает стиль использования фигурных скобок. Например, открывающая скобка функции не может появляются на линии отдельно.

Некоторые утверждают, что лексер должен делать упреждения, чтобы позволить открывающей скобке находиться на следующей линии. Создатели Go не согласны. Так как код Go предназначен быть пригодным для автоматического форматирования gofmt, какой-то один стиль должен быть выбран. Этот стиль может отличаться от того, что вы использовали в C или Java, но Go это другой язык и cтиль gofmt такой же хороший, как и любой другой. Более важные - гораздо более важные - преимущества единого стиля, программно утвержденного формата для всех программ Go, значительно перевешивает любые предполагаемые недостатки конкретного стиля. Обратите внимание, что стиль Go означает, что интерактивная реализация Go может использовать стандартный синтаксис по одной строке за раз без специальных правил.


Читайте также:


Комментариев нет:

Отправить комментарий