Знакомство с go
Встречаю все больше упоминаний языка go, да и на работе его используют, поэтому решил хотя бы немного его изучить чтобы быть в курсе событий.
Начал с интерактивного тура https://tour.golang.org/. Там довольно наглядно показаны основные концепции языка. Если вы хотите познакомиться с языком, то рекомендую начать именно с этого тура. После этого, если желание не пропало, можно устанавливать себе go локально. Поддерживаются все популярные платформы, в документации все подробно описано http://golang.org/doc/install.
Так как меня в первую очередь интересуют веб приложения, то после тура я прошелся по этому руководству https://golang.org/doc/articles/wiki/. Там каждый шаг подробно описан, так что написать по нему простое веб-приложение труда не составило.
После этого хотел выбрать какой-нибудь веб-вреймворк. Нашел штук пять, от самых минималистичных до вполне навороченных. Немного подумал и отказался от них, решил все же продолжить изучать стандартные либы:) Кстати, заметил что очень большое количество пакетов написано китайскими ребятами (судя по обилию иероглифов и ссылкам на китайские сайты).
После того как хоть немного попрактикуетесь нужно обязательно прочитать Effective Go.
Понравилось что в go есть такие стандартные инструменты как godoc
- утилита для генерации документации из кода и отображения ее в консоле и браузере, gofmt
- утилита для автоматического форматирования кода.
Так же в стандартном наборе есть утилита go get
которая умеет по имени пакета скачивать его и устанавливать его локально. Это удобно, но к сожалению она не умеет менеджить зависимости и ничего не знает про версии пакетов.
В целом впечатление от go неплохое, хотя после нескольких лет программирования на php и js код на go выглядит очень странно ;) Дальше я продолжу изучение, так как простота асинхронных операций и скорость работы программ на go выглядят очень заманчиво.
Ну и на последок, отличный набор ссылок разбитых на категории можно найти на awesome go.