С чего начать новичку в Go

  • Tutorial
Если вы решили попробовать замечательный язык Go, но не знаете с чего начать, вам прямая дорога в этот пост, где я постарался перечислить все необходимые для новичков ресурсы.

Прежде всего, нужно ознакомиться с основами:


Дальше можно выбирать из списка ниже и смотреть/читать в процессе.

Скринкасты:



Хакатоны и челенджи:

  • Go Challenge. Learn Go by solving problems and getting feedback from Go experts!Обязательно поучаствуйте в одном из челенджей, даже если вы уже и не новичок. Это позволит вам познакомиться с чем-то новым и получить отзывы от профессионалов. Например, в последнем нужно было написать мобильное приложение для андроида. (EN)


Видео:



Статьи на русском

Про go написано достаточно много статей, ко многим есть переводы на русский



Книжки:



Ресурсы:



Редакторы:

  • Плагин для IntelijIdea — по моему мнению, самый удобный инструмент, если вы конечно не адепт других редакторов;
  • Плагин для Vim — достаточно удобный, многие используют именно его. Если конечно vim вам мил;
  • Плагин для Emacs — для тех у кого пальцы гнутся;
  • Плагин для Sublime — заброшен, но пользоваться можно. Я не советую;
  • Плагин для Atom — для тех кто понимает, зачем это нужно.


Митапы

Без живого общения никак. Встречи проводятся регулярно и несколько раз в год.


Так же проводились встречи и в других городах. Например в Новосибирске.

Сообщество разработчиков Go очень большое. Добро пожаловать.
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 49
  • +7
    В последнее время я стал замечать очень много статей о Go.
    Интересно, к чему бы это?
  • +6
    Я думаю, что если речь идет о новичках, то им тура по Go за глаза хватит, в остальном лучший учитель — гугл. Изучение нового языка проще всего начинать с написания своего проекта. И по ходу написания уже искать требуемую информацию. Я не считаю себя новичком в Go, но при этом никаких скринкастов я не смотрел и большинство других ссылок из поста не читал тоже.
    • +11
      Заходил я как то давно в Slack чат русскоязычного gopher сообщества. Все дружно кидались какашками, писали статьи на Хабр, а потом обсуждали какой тупой хабр. Что то сейчас изменилось?
      • –1
        Ну правильно, русскоязычное Go сообщество это кучка двуличных лицемеров. Сначала все дружно кричат, что «инструмент под задачу, юскейсы ололо», а стоит кому-то сказать, что Go не годится для %thingname% — пиши пропало, у Ядра сообщества будет бомбить похлеще, чем у растофриков, которые отказываются верить в бесполезность предмета своего обожания.

        Короче говоря, интересное шапито.
      • –3
        Пока по ощущениям, скорость написания кода на Go втрое меньше чем на Parser-3, а скорость выполнения выше процентов на 20.
        Возможно, преимущества появятся на больших командных проектах.
        • +1
          Какое-то странное сравнение. Это совершенно разные вещи. Причём тут скорость написания и скорость работы?
          • +1
            Parser-3 — на этом убожестве ещё кто-то что-то делает?
            • +1
              Parser???
              Но зачем??? Это же шаблонизатор по уровню как PHP лет 10 назад.
              Это инструменты совсем для разных задач.
              • +1
                PHP лет 10 назад уже имел нормальный ООП, PDO и т. п.
                • +1
                  Я парсер последний раз смотрел в 2000-м, когда искал себе серверную технологию.
                  Тогда же мне он и не понравился.
                  Я предположил, что за 10 лет, там тоже было какое-то развитие.
                • 0
                  Это полноценный язык, правда, сфокусированный для решения веб-задач. У вас, видимо, устаревшие данные.
                  Но и я должен был сделать оговорку, что сравнивалось только в контексте серверных решений.
                  • 0
                    Возможно, я как посмотрел на него в районе 2000-го, так и понял, что не хочу иметь дело.
                    Я допускаю, что он развился с той поры. Но на мой взгляд, все тоже самое можно сделать на PHP 3-4 версий — он тоже заточен именно для веб-задач.
                    • 0
                      Можно, но будет медленнее и намного менее безопасно. Так разве кто ждет революцию в языках программирования?
              • +2
                Отличная статья, но мне кажется в книгах не хватает Golang Book, а в ресурсах незаслуженно забыт 4gophers.com
                • 0
                  Как минимум пара ссылок есть на 4gophers, но в разные разделы.
                  • 0
                    Сорри, Слава, не заметил.
                    • 0
                      Подскажите, какой-нибудь ресурс(желательно книгу или скринкаст) где можно посмотреть подробный обзор стандартной библиотеки, уж очень она обширна.
                  • +1
                    В редакторах нехватает LiteIDE
                    • +2
                      Мне кажется, новичку в Go (мне, например) не хватает двух, максимум, трех предложений, объясняющих, почему я должен владеть Go? Какие убойные фичи он предлагает по сравнению с другими ЯП?
                      • +2
                        Полная кросс-платформа, низкий порог вхождения, скорость работы на порядки выше чем у скриптовых языков(обычно с них приходят писать на го), желание попробовать что то новое
                        • 0
                          Ну кроме скорости и компиляции всех зависимостей в один файл я пока не впечатлен.
                          Кросс-платформа и низкий порог есть в Python и JS. Желание пробовать новое не должно пропадать никогда, но оно не является достоинством языка. А еще там нет исключений.

                          Я не холивара ради спрашиваю, мне бы увидеть преимущества языка и причины всей шумихи вокруг него.
                          • +3
                            Ну если вы сами не способны увидеть преимущества, то может ну его, этот Go? Пишите на питоне и js, норм языки же
                            • +3
                              Ну вот, спросишь «вкусно ли», а в ответ «не хочешь не ешь»)) И так везде. Шумиха, Go! Go! а в чем прикол никто особо сказать не хочет)
                              • +1
                                Да нет прикола никакого) На мой взгляд, если программисту нужны комменты на хабре, чтобы понять плюсы и минусы языка, то это повод серьезно задуматься.
                                Никакой шумихи, просто еще один язык программирования, ничего более
                                • 0
                                  Есть шумиха, имхо. А каменты мне не нужны, мне интересно услышать чужое мнение (свое я и так знаю).
                                • 0
                                  > Шумиха, Go! Go! а в чем прикол никто особо сказать не хочет)

                                  Ну вот я не спрашивал «в чем прикол», а просто взял и попробовал пару вечеров почитать код существующих проектов, документацию, и что-то свое нарисовать. Мне понравилось.
                              • +3
                                Если сравнивать с python — для того, чтобы написать что-то асинхронное, вам не потребуется искать библиотеки для нужного eventloop, выполнять monkey-patching и так далее, потому что в go есть горутины/каналы и они позволяют писать без коллбеков, как обычный код.

                                Например, мне нужен был быстрый websocket-сервер, который выдержит 20-30к CCU и не скушает всю память, а еще будет общаться с чем-нибудь через redis и иметь пару http эндпоинтов. Я в такой ситуации выбрал go, он идеально подошел. И не пришлось искать либы для redis к tornado или twisted.

                                • +1
                                  Стоит даже ради очень крутой std lib в которой покрыты 98% ежедневных потребностей программиста.
                              • +2
                                Гоурутины, каналы, планировщик. Относительно удобная работа с асинхронным кодом. Масштабирование по ядрам.
                                Одна из основных сфер применения — написание асинхронного кода или распараллеливание тяжеловесных задач. Если в повседневной работе не приходится сталкиваться с таким родом задач, то можно проходить мимо.
                              • +3
                                Хорошая электронная книга Введение в программирование на Go, очень быстрое вхождение.
                                • +1
                                  Говорят, из-за очень низкого порога вхождения в PHP очень много говнокодеров. Нет ли такой проблемы в Go? Язык то несложный.
                                  • +1
                                    Простота PHP не в синтаксисе или чем-то сбоку, а в том, что можно писать html вперемешку с кодом и все вроде какбы и норм.
                                    • +12
                                      В Go есть фильтр, называется — разберись как установить переменную окружения GOPATH. Отсеивает хорошо так.
                                      • +1
                                        Как её установить написано в туториале по установке Go. А вот как дальше жить… Тут традиционно кто в лес, кто по дрова.
                                      • +1
                                        Go по своей натуре приучает писать хороший код. То, что в PHP (или даже C/C++) даже не вызовет варнинга, в Go просто не скомпилится (например, неиспользуемый импорт). Но, безусловно, если человек говнокодер — тут уже никакой язык не поможет.
                                        • 0
                                          Пока нет, зато есть много китайцев :)
                                          • 0
                                            Это точно. Какую либу не глянь — китайци пишут )
                                          • +5
                                            Говнокодеры умирают сразу же в попытках сложить строку с числом)
                                          • 0
                                            За обзор спасибо! Много слышел о языке, и вот увидел первую ссылку и решил поробывать, за один день «Тур с заданиями по Go — это должен пройти каждый; (EN)» и практически прошел.
                                            У меня возник только один вопрос зачем типы переменных справа. Я как человек воспитанный на C подобных языках, этого совершенно не понимаю. Может кто-нибудь из знающих подскажет сокральный смысл этой фишки.
                                            • +1
                                              Упрощает грамматику языка, вот тут разобрано. Вообще, это именно си со своей семейкой исторически выпендрбиваются.
                                              • 0
                                                Спасибо за ссылку, если я все правильно понял это все сделано для упорщения парсинга исходного кода. Это единственная причина.
                                            • 0
                                              Плагин для Sublime — заброшен, но пользоваться можно. Я не советую;

                                              Частично пользовать можно, автокомплиты, автоформатирование при сохранении, быстрое добавление пакетов в импорт, встроенный линтер (лучше заменить на gometalinter) и подсветка синтаксиса.
                                              Сборка в нем вообще никак, пришлось писать свою, ну сборщики всегда пишу свои…

                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.