Теперь методы конкретных типов могут иметь собственные параметры типов.
Раньше для подобных преобразований приходилось выносить логику в отдельную generic-функцию:
MapList(list, fn)Теперь можно писать естественнее:
list.Map(fn).Map(fn2)Пример:
func (List[E]) Map[R any](f func(E) R) List[R]Это делает generic-код компактнее, улучшает цепочки вызовов и позволяет держать связанную логику рядом с самим типом.
При этом generic methods для интерфейсов пока не поддерживаются - из-за сложностей с генерацией и вызовом конкретных реализаций.
https://go.dev/blog/generic-methods
