有誰(shuí)知道為什么Go中沒(méi)有對(duì)泛型/模板/ whatsInAName的真正支持?因此,有一個(gè)通用的map,但由編譯器提供,而Go程序員不能編寫(xiě)自己的實(shí)現(xiàn)。關(guān)于如何使Go盡可能正交的所有討論,為什么我可以使用通用類(lèi)型而不創(chuàng)建新類(lèi)型?尤其是在函數(shù)式編程方面,有l(wèi)ambda甚至閉包,但是在缺少泛型的靜態(tài)類(lèi)型系統(tǒng)中,我該如何編寫(xiě)泛型高階函數(shù),如filter(predicate, list)?好的,可以通過(guò)interface{}犧牲類(lèi)型安全性來(lái)完成鏈接列表等。由于在SO / Google上進(jìn)行的快速搜索沒(méi)有發(fā)現(xiàn)任何見(jiàn)解,因此,仿制藥(如果有的話(huà))似乎會(huì)在事后添加到Go中。我相信Thompson會(huì)比Java員工做得更好,但是為什么要排除泛型呢?還是他們已經(jīng)計(jì)劃并且尚未實(shí)施?
- 3 回答
- 0 關(guān)注
- 481 瀏覽
添加回答
舉報(bào)
0/150
提交
取消