Категория: Go (Golang)
Go (Golang) — новый и набирающий популярность язык от компании Google. Разрабатывался как язык для создания высокоэффективных программ, работающих на распределённых системах и многоядерных процессорах. В данной категории публикуются статьи о тонкостях практического применения языка Go для написания больших коммерческих проектов.
Отличительные особенности
Go имеет общие черты с C, C++, C#. Как и C / C++ он предоставляет полную поддержку работы с указателями. При этом, арифметические операции с указателями, порой приводящие к ошибкам при использовании C / C++, не реализованы. Визитная карточка языка — это так называемые Go-рутины (go routine) и каналы (channels).
Go-рутины и каналы
Go rutine — это функция, которая вызывается асинхронно (в другом потоке) и выполняется параллельно с другими функциями. Для обмена данными между Go-рутинами используются каналы. Каналы могут использоваться и для синхронизации Go-рутин между собой и с запустившей их процедурой. Для работы с каналами введен оператор select, являющийся аналогом switch в языках программирования C и C++. Возможно создание каналов с буферизацией.