2012-01-25 4 views
18

Bawiłem się z Go trochę tworząc biblioteki danych i mam jeden duży problem. Chcę, aby struktura danych mogła zawierać dowolny typ, ale nie widzę sposobu, aby to zrobić w Go, ponieważ nie można zadeklarować pustych wskaźników i nie mają klasy takiej jak NSObject, z której wszystko dziedziczy. Jak osiągnąć tę samą funkcjonalność w Go?Go odpowiednik pustego wskaźnika w C

Odpowiedz

26

Według the Go Programming Language Specification:

typ realizuje dowolnego interfejsu zawierającego dowolny podzbiór sposobów działania, a w związku z tym może realizować wiele różnych interfejsów. Na przykład, wszystkie typy wdrożyć pusty interfejs :

interface{}

Jeśli szukać w tym dokumencie interface{} zobaczysz sporo przykładów, jak można użyć go do tego, co chcesz.

+0

Chciałbym tylko podziękować za odpowiedź. Właśnie zmodyfikowałem swoją LinkedList, aby użyć typu implementującego pusty interfejs. Całkiem niesamowite, jak łatwo jest osiągnąć coś takiego dzięki interfejsowi i luźnemu pisaniu. – evanmcdonnal

+1

@evanmcdonnal: Nie ma za co! Cieszę się, że to dla ciebie zadziałało. :-) – ruakh