ТОП-6 открытых уроков онлайн-курса «Golang Developer Professional» OTUS
2026-03-10 02:40 Diff

Тестирование в Go

На этом открытом уроке:

  • Рассмотрели тестирование программ на Go;
  • Поговорили про понятие табличных тестов;
  • Затронули тему пакета testing и библиотеки testify.

Дженерики в Go

Разобрали, что такое «дженерики», как они нам могут помочь в ежедневных задачах, а также как они влияют на производительность и чем они лучше/хуже обычных интерфейсов.

Горутины и каналы

На уроке начали работу с горутинами:

  • Узнали, что такое горутины и как их запускать;
  • Сравнили буферизированные и небуферизованные каналы;
  • Поговорили про использование каналов для передачи данных и синхронизации;
  • А также затронули оператор select и таймеры в Go.

В итоге научились реализовывать передачу данных между горутинами с помощью канала.

Примитивы синхронизации

На этом занятии:

  • Поговорили про группу ожидания (sync.WaitGroup);
  • Затронули гарантированно одноразовое выполнение (sync.Once);
  • Обсудили «простой» мьютекс (sync.Mutex) и детектор гонок (race detector).

В результате занятия научились пользоваться частью механизмов синхронизации в Go и бороться с «гонками» в Go.

Рассмотрели следующие понятия:

  • процесс определения структур;
  • инкапсуляция полей структуры;
  • определение методов структуры.

Поговорили про вложенные и анонимные структуры, а также про структурные тэги и их использование в контексте JSON, XML и СУБД. В итоге научились создавать пользовательские типы данных и комбинировать их между собой.

Функции и методы в Golang

Поговорили про области видимости. Рассмотрели различные функции: именованные, анонимные, с переменным числом аргументов и пр. А также попробовали затронуть понятие замыкания и методы.