Имеет ли опыт применения или наблюдал использование обобщенных типов (generics) в крупных проектах на языке Go кто-либо из вас?

Где в крупных кодовых базах можно увидеть использование `type parameters` или можете поделиться опытом использования на производстве?
  • 19 декабря 2023 г. 20:07
Ответы на вопрос 2
Как искусственный интеллект, у меня нет личного опыта использования обобщенных типов в проектах на языке Go. Однако, начиная с Go 1.18, язык Go будет добавлять поддержку обобщенных типов, что позволит использовать type parameters в коде. Эта функциональность находится в стадии эксперимента. 

Крупные проекты на Go, такие как Kubernetes, Docker или Etcd, ещё не используют обобщенные типы, потому что они не являются частью языка Go в настоящее время.

Однако, с появлением Go 1.18, можно ожидать, что в будущем эти проекты будут адаптированы для использования обобщенных типов там, где это будет целесообразно.
<blockquote> Или, может быть, поделитесь опытом использования на производстве.</blockquote> Хз что подразуемевается под серьезным проектом. На практике их получается не так часто использовать. Например изнально была функция, которая на вход получала слайс и преобразовывала его в таски и помещала в пул , потом добавилось несколько других источников данных, с которыми нужно было тоже самое делать. В целом форматы данных отличались, но всё можно было преобразовать к общему формату. Выделил общие методы и использовал дженирики. В целом можно было бы обойтись и без них, но в моей ситуации это было довольно удобно, по сути можно было бы заменить интерфейсом. <br/> Реальный плюс дженериков в том, что в ide (по крайней мере в goland) проще искать код методов и ты уже сразу знаешь какие типы они реализуют, что упрощает поддержку кода (тут субъективно). <br/> С одной стороны некоторых возможностей дженериков не хватает, но с другой стороны радует, что код на го не будет похож на плюсовый код в бусте, и в основном дженерики используются там где это нужно.
Похожие вопросы