четверг, 7 февраля 2019 г.

Go FAQ: Почему в Go нет универсальных типов (generics)?

Дженерики вполне могут быть добавлены в какой-то момент.

Go был задуман как язык для написания серверных программ, которые будет легко поддерживать с течением времени. Дизайн концентрировался на таких вещах, как масштабируемость, читаемость и параллелизм. Полиморфное программирование не казалось существенной для языка целью на момент создания и так было оставлено для простоты.

Язык сейчас более зрелый, и есть возможность рассмотреть некоторые формы общего программирования. Тем не менее, остаются некоторые предостережения.

Дженерики удобны, но они имеют цену сложности в системе типов и времени выполнения. Между тем, встроенные карты и срезы Go, плюс возможность использовать пустого интерфейса для создания контейнеров (с явным распаковыванием), позволяют во многих случаях написать код, который делает то, что дженерики могут, хотя и не так гладко.


Читайте также:


Комментариев нет:

Отправить комментарий