Haftungsausschluss: Ich habe jetzt nur einen Tag mit Go gespielt, daher besteht eine gute Chance, dass ich viel verpasst habe.
Weiß jemand, warum es in Go keine echte Unterstützung für Generika / Vorlagen / whatsInAName gibt? Es gibt also ein generisches map
Programm, das jedoch vom Compiler bereitgestellt wird, während ein Go-Programmierer keine eigene Implementierung schreiben kann. Warum kann ich bei all dem Gerede darüber, Go so orthogonal wie möglich zu gestalten, einen generischen Typ verwenden, aber keinen neuen erstellen?
Besonders wenn es um funktionale Programmierung geht, gibt es Lambdas, sogar Schließungen, aber mit einem statischen Typsystem ohne Generika, wie schreibe ich generische Funktionen höherer Ordnung wie filter(predicate, list)
? OK, verknüpfte Listen und dergleichen können unter interface{}
Einbußen bei der Typensicherheit durchgeführt werden.
Da eine schnelle Suche in SO / Google keine Erkenntnisse ergab, sieht es so aus, als würden Generika, wenn überhaupt, nachträglich zu Go hinzugefügt. Ich vertraue darauf, dass Thompson es viel besser macht als die Java-Leute, aber warum sollten Generika draußen bleiben? Oder sind sie geplant und noch nicht umgesetzt?
interface{}
opfert statische Sicherheit. Dies ist jedoch eine etwas seltsame Beschwerde, wenn das Erwähnen von Schema der nächste Absatz ist, da Schema normalerweise keine statische Typprüfung aufweist.