Что такое interface constraint с методами?

Middle+
168 просмотров
AFK Offer AI

Constraint может требовать методы, как обычный интерфейс: type Validator interface { Validate() error }. В generic функции func Process[T Validator](v T) можно вызывать v.Validate(). Можно комбинировать с type elements: type OrderedStringer interface { ~int | ~string; String() string } — тип должен и иметь underlying int/string, и реализовывать String(). Это мощнее обычных интерфейсов, потому что можно одновременно требовать методы И ограничивать набор типов. На практике чаще хватает чистых method constraints или чистых type constraints.

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

Как автоматизировать security scanning?