Комментарии к главе 3, курс по go
В языке Go существует один единственный вид циклов — это цикл for.
И это очень и очень в парадигме го: код, написанный разными разработчиками, выглядит одинаково. Было бы полезно такие вещи подчеркивать, чтобы у читателя складывалось понимание, откуда ноги растут у тех или иных архитектурных решений при проектировании языка.
Важно! Символ { в Go обязательно должен стоять в конце данной строчки кода
Об этом сказать чем раньше, тем лучше. В идеале - в самой первой главе в особенностях языка. Это иллюстрация к тому, что "код, написанный разными разработчиками, выглядит одинаково". И в первую же главу добавить, что го очень жестко подходит не только к форматированию, но и к "недописанному коду". Неиспользуемая переменная, неиспользуемый импорт - это ошибка компиляции!
https://stackoverflow.com/questions/21743841/how-to-avoid-annoying-error-declared-and-not-used
Почему так сделано? Разве нужно синьорного синьора бить по рукам за не используемую переменную? Это укладывается в парадигму го: мы берем new grad'ов и джунов, даем им вот такой язык, и он сам бьет их по рукам за любой шаг в сторону от стайл гайдов. Как написано в ответе на стэк оверфлоу (ссылка выше), "That error is here to force you to write better code".
Например, следующее выражение ошибочно:
Цикл в го не является выражением! В отличие от раста или хаскеля. Нужно переформулировать.
и вы получите ошибку следующего содержания
Были бы уместны более краткие формулироки (здесь и в похожих местах). " следующего содержания" - излишне, можно сократить.