Вопрос: Как работают generics + интерфейсы: constraint с методами?

Go Junior Без компании
Вопрос: Как работают generics + интерфейсы: constraint с методами?
Ответы
Constraint может требовать методы. Тогда T гарантированно поддерживает эти методы. ```go package main import "fmt" type Stringer interface { String() string } func PrintAll[T Stringer](items []T) { for _, it := range items { fmt.Println(it.String()) } } type User struct{ Name string } func (u User) String() string { return "User:" + u.Name } func main() { PrintAll([]User{{"Ann"}, {"Bob"}}) } ```