Как написать generic структуру?

Middle
235 просмотров
AFK Offer AI

Объявляешь type params при определении: type Stack[T any] struct { items []T }. Методы тоже с параметрами: func (s *Stack[T]) Push(v T). При создании указываешь тип: s := Stack[int]{}. Можно несколько параметров: type Pair[K comparable, V any] struct { Key K; Val V }. Generic структуры удобны для контейнеров — стеки, очереди, деревья, кеши. Constraint на уровне структуры распространяется на все методы. Важно: нельзя определить метод с дополнительными type params, которых нет в структуре.

Следующий вопрос

Что такое error chain?