Go
Изучите Go от начала до конца. Начните с пакетов, переменных и управления потоком выполнения, затем углубитесь в структуры, интерфейсы, конкурентность, тестирование, HTTP-серверы, базы данных, дженерики, профилирование и публикацию готовых бинарных файлов в продакшен.
20 уроков по порядку
- 125 мин
Привет, Go
Package mainImportFunc mainFmt.PrintlnGo run - 225 мин
Переменные и типы
Var declarationShort declaration :=IntFloat64StringBool+2 - 330 мин
Управление потоком: if и for
IfElse ifElseFor loopFor as whileInfinite for+2 - 430 мин
Функции
Func keywordParametersReturn valuesMultiple return valuesNamed return valuesBlank identifier - 535 мин
Срезы (slices) и карты (maps)
Slice literalAppendLenIndexingRangeMap literal+2 - 640 мин
Мини-проект на основе CLI
Os.ArgsStrconv.AtoiError handling with if err != nilOs.ExitGo buildPutting it together - 735 мин
Структуры (structs) и указатели (pointers)
Struct definitionField accessZero values for structsPointer types& and * operatorsPointer receivers vs value receivers+1 - 835 мин
Методы (methods) и интерфейсы (interfaces)
Method declarationReceiver typesPointer vs value receiversInterface definitionImplicit interface satisfactionSmall interfaces+1 - 935 мин
Обработка ошибок
Error interfaceFmt.Errorf with %wErrors.IsErrors.AsCustom error typesPanic vs error+1 - 1040 мин
Горутины (goroutines) и каналы (channels)
The go keywordGoroutine lifetimeUnbuffered channelsBuffered channelsSend and receiveRange over channel+1 - 1145 мин
Паттерны параллелизма
Select statementContext.Context for cancellationSync.WaitGroupSync.MutexWorker pool patternFan-out fan-in idea - 1240 мин
Обзор стандартной библиотеки
FmtStringsStrconvTimeOsBufio+1 - 1340 мин
Тестирование и бенчмарки (benchmarks)
Go testTesting.TTable-driven testsT.Run subtestsTesting.B benchmarks_test.go file naming+1 - 1435 мин
Модули (modules) и структура проекта
Go mod initGo.mod and go.sumImport pathsPackage vs moduleInternal/ folderCmd/ layout+1 - 1545 мин
HTTP-серверы
Net/httpHttp.HandleFuncHttp.ServerJSON responsesRequest routingMiddleware via http.Handler wrapping+1 - 1645 мин
Базы данных с database/sql
Database/sql packageDriver importsSql.Open and sql.DB poolExec vs Query vs QueryRowPrepared statementsScanning rows+1 - 1735 мин
Дженерики (generics)
Type parameters with [T any]ConstraintsComparableTilde approximation ~intGeneric Map and FilterWhen generics help, when they do not - 1840 мин
Производительность и профилирование
Go test -benchPprof CPU and heap profilesEscape analysis with -gcflags=-mAvoiding unnecessary allocationsPreallocating slicesSync.Pool intuition - 1940 мин
Паттерны проектирования в Go
Functional options patternRepository patternDependency injection via interfacesContext propagation through call stacksConstructor functions - 2045 мин
Развёртывание и эксплуатация
CGO_ENABLED=0 static binariesCross-compile with GOOS and GOARCHGraceful shutdown with http.Server and signal.NotifyContextMinimal Dockerfile with scratch or distrolessReading config from environment variables
Изучай Go на своём языке
Каждый урок, тест и ответ наставника показывается на вашем языке. AI-наставник отвечает на том языке, на котором вы пишете.
Roles that use Go
See how hiring teams interview engineers on Go, in production-like environments.
Backend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewDistributed Systems Engineer
Hire distributed systems engineers in workspaces with real Kafka, real consensus and real partition tooling. Live or take-home, fully recorded.
See the interviewPlatform Engineer
Hire platform engineers who reduce friction for every team. Real golden-path templates, real internal CLIs, real service onboarding flows. We record every step.
See the interview