Добавляешь type parameters в квадратных скобках после имени: func Filter[T any](s []T, pred func(T) bool) []T. Внутри T используется как обычный тип. Вызов: Filter(nums, isPositive) — компилятор выведет T = int. Или явно: Filter[string](words, isLong). Constraint определяет возможности: any — минимум, comparable — можно сравнивать, свой интерфейс — можно вызывать методы. Если нужно несколько type params: func Map[T any, U any](s []T, f func(T) U) []U.
Как написать generic функцию?
Middle
290 просмотровAFK Offer AI
Как работает gRPC interceptor?