Гофер — талисман языка Go

Go (Golang)

Компилируемый язык программирования, созданный в Google для быстрых, простых и надёжных серверных программ.

Go появился в 2007–2009 годах — его придумали инженеры Google (Роберт Гризмер, Роб Пайк и Кен Томпсон), которым не хватало языка, сочетающего скорость компилируемых языков (вроде C++) с простотой и читаемостью скриптовых языков. Название языка — Go, а «Golang» — просто удобный для поиска в интернете вариант, появившийся из-за домена golang.org.

2009год выхода
Googleразработчик
MITлицензия (open source)

Ключевые особенности

Компилируется в один файл

Программа собирается в один исполняемый файл без внешних зависимостей — его можно просто скопировать на сервер и запустить.

Статическая типизация

Тип каждой переменной известен на этапе компиляции — компилятор находит опечатки в типах данных ещё до запуска программы.

Горутины (goroutines)

Лёгкие «потоки» выполнения, которыми управляет сама программа Go, а не операционная система. Позволяют легко писать код, работающий параллельно с тысячами задач одновременно.

Сборщик мусора

Память освобождается автоматически — как в PHP: не нужно вручную выделять и очищать её, как в C.

Минималистичный синтаксис

В языке нарочно мало возможностей и конструкций — код разных разработчиков выглядит похоже, его проще читать и поддерживать.

Богатая стандартная библиотека

HTTP-сервер, работа с JSON, шифрование, тестирование — всё это уже встроено в язык, без сторонних пакетов.

Где применяется

Backend и REST/gRPC API Микросервисы Docker и Kubernetes (написаны на Go) Облачная инфраструктура (DevOps) CLI-утилиты Высоконагруженные системы

Если вы пришли из Laravel

Готового фреймворка «из коробки», как Laravel, в Go нет — но многое из того, для чего в PHP нужен фреймворк, уже есть в стандартной библиотеке (HTTP-роутинг, шаблоны, работа с БД через database/sql). Для полноценных веб-приложений обычно берут отдельные библиотеки — популярные аналоги: Gin, Echo, Fiber. Вместо Composer — встроенный менеджер зависимостей go mod; вместо Artisan-команд — просто go run и go build.

Пример кода

package main

import "fmt"

// Точка входа в программу
func main() {
    fmt.Println("Привет, Go!")
}