我正在嘗試一點go programming language。在編程語言中使用任何類型和實現泛型列表
我對Go的簡單感到興奮,但在玩之後我遇到了一些麻煩。
1。我知道去不支持泛型和繼承。 有什麼辦法可以實現泛型列表?
我想使用:
type Any interface { }
,但我怎麼能檢查,如果該值爲NULL。
我正在尋找一些相當於實施到C
struct List {
List* tail;
void* head;
}
或者用代數數據類型:
data List a = Nil | Cons a (List a)
2。更高級的要求是爲具有特定類型字段的對象創建一些容器?
例如在Scala編程語言我可以輸入:
val List[Animal { type SuitableFood = Grass} ]
得到的Animals
一個List
,其中有一個成員類型SuitableFood
這是Grass
可能的重複[爲什麼沒有泛型在去](http://stackoverflow.com/questions/3912089/why-no-generics-in-go) – tylerl
不完全 - 我不問*爲什麼沒有泛型在去*但*如何模仿他們* –
我不知道人們認真對待,儘管它沒有泛型和繼承。 –