Язык Go всегда отличался простотой и лаконичностью. Его сила — в прозрачности и ясности кода. Однако, с появлением дженериков (generics) в версии Go 1.18, возникла концепция, которая многим усложнила жизнь — так называемые «core types» (основные типы). Недавно стало известно, что разработчики Go решили убрать это понятие из языка, и это отличная новость. Разберёмся, почему. 🔍 Что такое «core types» и зачем они были нужны? Когда Go получил поддержку дженериков, появилась необходимость обобщить операции, чтобы они работали с целыми группами типов (type sets). Для упрощения логики и реализации компилятора ввели концепцию core types: Идея была неплохой, но на практике это усложнило как чтение спецификации языка, так и понимание кода. ❌ Какие проблемы вызвали «core types»? Концепция выглядела логично в теории, но принесла сложности на практике: 🧹 Как это исправили в Go 1.25? Разработчики Go решили полностью удалить понятие core types, заменив его чёткими и конкретными правилами для каждой
🐹✨ Go становится проще: зачем язык избавляется от «core types» и почему это важно
27 марта 202527 мар 2025
18
3 мин