Skip to content

Ep. 10: Новый релиз Go v1.21 - обсуждаем важные изменения

August 14, 2023 · 1 h 57 min

Show notes

Новый релиз выдался очень интересным, добавился ряд крутых фич. Подробно обсуждаем - что добавилось, зачем оно нужно, как с этим работать и др.

Состав:
  • Николай Тузов
  • Глеб Яльчик - тех. директор компании Gaijin
  • Дмтрий Матрёничев - Talos OS Developer, ведёт отличный ТГ-канал по Go: https://t.me/go_update

Мой Телеграм-Канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov

Наш чат - Gopher Club: https://t.me/+RfalcB42UspmMDdi
Все гости наших выпусков там присутствуют.

-----
Go 1.21 Release Notes: https://tip.golang.org/doc/go1.21

Примеры, связанные с изменениями поведения переменной цикла: https://github.com/golang/go/wiki/LoopvarExperiment


Тайм-коды


  • 00:00 Вступление
  • 02:18 Улучшенная обратная и восходящая совместимость
  • 08:20 Изменений вывода stack trace
  • 15:17 Изменение работы с циклами - Loopvar Experiment
  • 19:03 Версия компилятора и его поведение на основе go.mod
  • 22:28 Почему собседования станут немного проще

  • 23:50 Новый пакет - slices
  • 27:23 Про итераторы в Go
  • 28:21 Почему убрали keys / values для map
  • 30:47 Интересные функции нового пакета slices
  • 31:45 builtin функции min / max
  • 32:50 Связь новых функций с типом Float
  • 36:07 Зачем нужна функция clear для слайсов?
  • 39:33 sort.Ints() vs slices.Sort()
  • 44:02 Новый пакет maps и его функции
  • 46:27 Почему min / max принимают произвольное количество аргументов?
  • 49:59 Улучшение пакета context
  • 01:02:08 slog - новый пакет для логирования
  • 01:08:09 Profile-guide optimization - оптимизация компилятора
  • 01:13:34 Связь новых фич с финтехом
  • 01:16:30 go build превращается в GCC с кучей конфигураций?
  • 01:18:03 Новый пакет - cmp
  • 01:20:16 Зачем чистить мапу в финтехе? :)
  • 01:22:43 Связь новых фич с Machine Learning и статистикой
  • 01:23:30 ОФФТОП - Отсюда и до конца выпуска / Go умирает? Умирают ли другие языки?
  • 01:30:29 Про язык V
  • 01:33:44 Важность ядра языка
  • 01:34:50 Важность идеи языка
  • 01:35:20 Идеи различных языков
  • 01:40:41 Go и Rust
  • 01:47:03 СОВСЕМ ОФФТОП - про игры и Baldurs Gate
  • 01:49:38 Про SteamDeck
  • 01:53:25 Заключение

All episodes of Go Get Podcast

Settings

Display

Language

Decides which stations you see first on the home page.

History

Recently played stations and episodes and your latest searches are only stored in this browser.

Notifications

A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

Account

Save favorites – in the app and on the website.

Keyboard shortcuts

/
Open search
Space
Play or pause
← →
In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
↑ ↓
In a row: target within the tile
Home / End
In a row: first or last tile
Esc
Close window or menu
?
This overview
Now playing

Go to station page

Play next

    Add episodes with “Play next” – they play after the current episode.