AD

¿Ya dominas lo básico? Un curso estructurado de Go es la vía rápida para dar el salto.

Ver cursos de Go en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐹Lecciones de Go
Lección 16 / 68

Reutilizar código con embedding

En esta lección compartirás campos y métodos entre tipos sin usar herencia.

Go no tiene herencia. En su lugar se incrusta un struct dentro de otro escribiendo el tipo sin nombre de campo, y sus campos y métodos quedan accesibles desde fuera como si fueran propios.

El código de ejemplo hace que un tipo reutilice lo que ya definía otro.

Es composición, no herencia, y la diferencia importa: el tipo que incrusta no es un subtipo del incrustado. No se puede pasar donde se espera el otro. Lo que permite el polimorfismo en Go son las interfaces, que se satisfacen implícitamente — un tipo cumple una interfaz por tener los métodos, sin declararlo en ninguna parte.

Esa combinación de composición e interfaces implícitas es una de las señas de identidad de Go, y evita las jerarquías profundas y frágiles que aparecen en lenguajes con herencia.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Go directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

Espacio publicitario (banner)
Espacio publicitario (en el artículo)