Введение в Go для бэкенд-разработчиков

Практическое руководство по Go для разработчиков. Установка, основы синтаксиса и первая программа.

Go — компилируемый язык со статической типизацией, разработанный для простоты и эффективности.

Установка

# macOS
brew install go

# Linux
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz

Привет, мир

package main

import "fmt"

func main() {
    fmt.Println("Привет, мир!")
}

Запуск: go run main.go

Почему Go?

  • Простой синтаксис, быстрая компиляция
  • Встроенная поддержка конкурентности (goroutines)
  • Отличная стандартная библиотека
  • Статические бинарники — легко деплоить

Основные концепции

Переменные

var name string = "Gopher"
age := 25  // вывод типа
const Pi = 3.14159

Функции

func add(a, b int) int {
    return a + b
}

// Множественные возвращаемые значения
func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("деление на ноль")
    }
    return a / b, nil
}

Структуры

type Person struct {
    Name string
    Age  int
}

p := Person{Name: "Алиса", Age: 30}

Следующие шаги

  • Go Tour — интерактивный туториал
  • Effective Go — лучшие практики