Основы Go
Go — компилируемый язык со сборкой мусора, разработанный Google. Ориентирован на серверную разработку.
Горутины и каналы
▸Горутины
1go func() {2 fmt.Println("Hello from goroutine")3}()
▸Каналы
1ch := make(chan int)2go func() { ch <- 42 }()3fmt.Println(<-ch)
Интерфейсы
Go использует неявные интерфейсы:
1type Writer interface {2 Write([]byte) (int, error)3}
Обработка ошибок
1result, err := doSomething()2if err != nil {3 return fmt.Errorf("failed: %w", err)4}
Тестирование
1func TestAdd(t *testing.T) {2 if Add(1, 2) != 3 {3 t.Error("expected 3")4 }5}
Заключение
Go — отличный выбор для backend-разработки. Его простота и производительность делают его идеальным для микросервисов.
Изучите вопросы по Go в нашем разделе.