
Go 1.27: дженерик-методы, JSON v2, UUID и диф на 11 000 файлов
Shownotes
Подробно разбираем релиз Go 1.27. В него довезли дженерик-методы, хотя в FAQ языка писали, что их, скорее всего, не будет никогда. Но с интерфейсами они не работают. Выясняем, почему так решили и при чём тут JIT, что может сломаться после перевода старого encoding/json на движок v2 и как наконец отказаться от google/uuid. А ещё считаем, сколько на самом деле дают новые аллокации. В бенчмарках до 30%, в реальных программах около 1%.
Дима (автор канала Go Update) традиционно ведёт нас по релиз-нотам, Глеб снова главный скептик. Паша из Авито впервые у нас в гостях — он сам пишет обзоры релизов на Хабре и смотрит на фичи глазами пользователя.
Участники:
— Николай Тузов
— Дмитрий Матрёничев, канал Go Update: https://t.me/go_update
— Глеб Яльчик, основатель Pixel Technologies
— Павел Агалецкий, Авито
Сайт подкаста: https://gogetpodcast.dev/ep24/ — там есть все упомянутые в выпуске ссылки, текстовый разбор тезисов и аналитика по спикерам.
Мой подробный разбор Go 1.27: https://golang.guide/go-1-27/
👾 Мой Телеграм-канал с анонсами подкастов, роликов и др.: https://t.me/ntuzov
🗣️ Наш чат — Gopher Club: https://t.me/+RfalcB42UspmMDdi
Все гости наших выпусков там присутствуют.
Тайминги:
- 0:00 Вступление: о чём выпуск и кто участвует
- 2:52 Дженерик-методы
- 19:17 Дженерик-методы и интерфейсы: почему нельзя?
- 28:11 JSON v2: новый encoding/json/v2
- 38:13 JSON v2: зачем старый пакет перевели на новый движок
- 44:22 Поля встроенных структур в литералах
- 57:12 Вывод типов для дженерик-функций
- 1:02:59 Тулинг: из go убрали Bazaar
- 1:06:26 GODEBUG и go fix: откат поведения и модернизаторы
- 1:09:42 go mod tidy и gofmt: блоки require и комментарии
- 1:17:33 Рантайм: аллокации подешевели
- 1:25:16 Профилировщик утечек горутин
- 1:27:47 Постквантовые подписи: crypto/mldsa
- 1:36:49 UUID в стандартной библиотеке
- 1:41:39 Не лезьте в криптографию! Или всё же стоит?
- 1:49:40 net/http: Response.Body дочитывается сам
- 1:53:16 Метки горутин в трейсбеках паники
- 1:56:05 Портируемый SIMD
- 2:06:26 Итоги Go 1.27: Config.Rand и NewTestServer
Музыка: Home for the Holidays — TrackTribe
Гофер Go — Рене Френч (Renée French), CC BY 4.0