Дженерики (generics)
Часть курса Go
Вы пишете функцию, которая находит наибольшее число в срезе int. Потом такая же нужна для float64, вы копируете её и меняете два слова. Потом ещё одна, для string. Теперь в проекте живут три почти одинаковые функции, и когда вы исправите ошибку в одной, придётся не забыть про две остальные.
Долгое время в Go не было на это внятного ответа. Либо вы дублировали функцию, либо брали interface{}, который принимал что угодно и отменял всякую проверку типов, так что компилятор уже не мог сказать вам, что вы передали срез не того типа. Дублирование или слепота, выбирайте.
Хочешь изучать Go Дженерики (generics) в реальной среде?
Нажми ниже, получи Linux-машину с Go наготове и пройди Дженерики (generics) на практике вместе с AI-наставником, который знает твой код.
Начать этот урокДженерики (generics)Чему вы научитесь
- Type parameters with [T any]
- Constraints
- Comparable
- Tilde approximation ~int
- Generic Map and Filter
- When generics help, when they do not
