2012-01-25 7 views
18

He estado jugando con Go un poco haciendo algunas bibliotecas de estructura de datos y tengo un gran problema. Quiero que la estructura de datos pueda contener cualquier tipo, pero no veo ninguna forma de hacerlo en Go porque no puedes declarar punteros vacíos y no tienen una clase como NSObject de la que todo hereda. ¿Cómo conseguiría esta misma funcionalidad en Go?Ir equivalente a un puntero de vacío en C

Respuesta

26

Según the Go Programming Language Specification:

Un tipo implementa cualquier interfaz que comprende cualquier subconjunto de sus métodos y por lo tanto puede implementar varias interfaces distintas. Por ejemplo, todos los tipos implementan la interfaz de vacío :

interface{}

Si usted busca dentro de ese documento para interface{}, verá un buen número de ejemplos de cómo se puede utilizar para hacer lo que quiera.

+0

Solo quería agradecerle su respuesta. Acabo de modificar mi LinkedList para usar un tipo que implementa la interfaz en blanco. Es increíble lo simple que es lograr algo así con la interfaz y la escritura suelta. – evanmcdonnal

+1

@evanmcdonnal: ¡De nada! Me alegra que haya funcionado para ti. :-) – ruakh

Cuestiones relacionadas