Команда Go одобрила использование обобщенных методов, изменив давнюю позицию.
Предложение, выдвинутое одним из соавторов Go, Робертом Гриземером - обобщенные методы, теперь переходит к реализации.
Однако невозможность включения обобщений в интерфейсы Go — останется. Ранее считалось, что поскольку обобщенные методы не могут реализовывать интерфейсы, в них нет смысла. Разработчики могли просто писать обобщенные функции, которые уже существуют. Изменение точки зрения заключается в том, что методы полезны для организации кода, даже если они не реализуют интерфейс, поэтому нет причин не поддерживать параметры типов — обобщения — так же, как и функции.
Обобщения типов, включая параметры типов для объявлений функций и типов были добавлены в язык еще в версии Go 1.18 в марте 2022 года. Однако возможности создавать обобщенные методы отсутствовала, хотя это функциональность была одной из востребованных.
Реакция разработчиков на одобренное предложение положительная, хотя многие признают, что эта функция неполна.
https://github.com/golang/go/issues/77273
Post #3597
2.81K