Отказ от ответственности: я играл только с Go в течение одного дня, так что у меня был хороший шанс, что я пропустил много.
Кто-нибудь знает, почему нет реальной поддержки для generics/templates/whatsInAName в Go? Таким образом, существует общий map
, но предоставленный компилятором, в то время как программист Go не может написать свою собственную реализацию. Со всем разговором о том, как сделать Go максимально ортогональным, почему я могу использовать общий тип, но не CREATE новый?
Особенно, когда речь заходит о функциональном программировании, есть лямбды, даже замыкания, но с системой статического типа, не имеющей дженериков, как я пишу, ну, общие функции более высокого порядка, такие как filter(predicate, list)
? OK, Связанные списки и т.п. Могут быть сделаны с interface{}
безопасностью типа жертвы.
Поскольку быстрый поиск по SO/Google не выявил каких-либо прозрений, похоже, что дженерики, если вообще будут, будут добавлены к Go в качестве запоздалой мысли. Я действительно доверяю Томпсону, чтобы сделать что-то лучше, чем Java-ребята, но зачем хранить генералы? Или они планируются и еще не реализованы?