Современный, эффективный и лаконичный язык, созданный инженерами Google для разработки масштабируемых веб-служб.
Язык Go (часто называемый Golang) был разработан в стенах компании Google в 2007 году. Официальный анонс состоялся в ноябре 2009 года. Проект возглавили легендарные программисты: Роб Пайк (Rob Pike), Кен Томпсон (Ken Thompson) и Роберт Грисмер (Robert Griesemer).
Главным толчком к созданию языка стало разочарование разработчиков Google в существующих на тот момент языках программирования (таких как C++ и Java). Большие корпоративные кодовые базы компилировались слишком долго, многопоточность была избыточно сложной, а синтаксис — перегружен лишними деталями.
Go компилируется напрямую в машинный код невероятно быстро. Забудьте о долгих ожиданиях сборки проекта — код собирается за доли секунды.
Благодаря легковесным потокам (горутинам) и каналам, параллельное выполнение задач в Go потребляет минимум оперативной памяти и работает из коробки.
Автоматическое управление памятью избавило разработчиков от ручного освобождения памяти, минимизируя при этом паузы в работе программы.
В Go всего 25 ключевых слов. Код на Go выглядит одинаково независимо от того, кто его писал, что облегчает поддержку и чтение чужих проектов.
Строгая типизация помогает находить большинство ошибок на этапе компиляции, обеспечивая надежность работы высоконагруженных сервисов.
Встроенные утилиты для форматирования кода (gofmt), тестирования, бенчмаркинга и анализа покрытия кода создают комфортные условия для разработки.
Вот как выглядит простейшая программа «Hello, World!» и базовая параллельность на Go:
package main import ( "fmt" "time" ) func sayHello(msg string) { fmt.Println(msg) } func main() { // Запуск функции в горутине (асинхронно) go sayHello("Привет из параллельного мира Go!") time.Sleep(1 * time.Second) }