Вопрос: Как работают методы у параметризованных типов (generic types)?

Go Junior Без компании
Вопрос: Как работают методы у параметризованных типов (generic types)?
Ответы
Можно объявлять методы на типах с параметрами типов, но receiver должен быть конкретным именем типа. ```go package main import "fmt" type Stack[T any] struct { items []T } func (s *Stack[T]) Push(v T) { s.items = append(s.items, v) } func (s *Stack[T]) Pop() (T, bool) { var zero T if len(s.items) == 0 { return zero, false } last := s.items[len(s.items)-1] s.items = s.items[:len(s.items)-1] return last, true } func main() { var st Stack[int] st.Push(1) st.Push(2) fmt.Println(st.Pop()) } ```