¿Qué es una interfaz?
Parte de la sección Lógica y Flujo del Journey de GO de Coddy — lección 12 de 68.
Una interfaz en Go es como un contrato que define qué comportamientos debe tener un tipo, sin especificar cómo se implementan esos comportamientos. Piénsalo como una colección de firmas de métodos que describe lo que algo puede hacer.
Para entender mejor las interfaces, imagina un enchufe en tu casa.
El enchufe tiene una forma específica y proporciona electricidad, pero no le importa qué dispositivo conectes a él. Ya sea una lámpara, un cargador de teléfono o una computadora, cualquier dispositivo que tenga la forma de enchufe adecuada puede conectarse y recibir energía. El enchufe define la "interfaz": los requisitos para la conexión.
En Go, una interfaz funciona de manera similar. Define un conjunto de firmas de métodos que un tipo debe tener para "conectarse" a esa interfaz. Cualquier tipo que tenga todos los métodos requeridos satisface automáticamente la interfaz, independientemente de qué más pueda hacer ese tipo o cómo implemente esos métodos.
Este concepto es potente porque te permite escribir código que funciona con cualquier tipo que pueda realizar ciertos comportamientos, haciendo que tus programas sean más flexibles y reutilizables. Al igual que diferentes dispositivos pueden usar la misma toma de corriente, diferentes tipos de Go pueden satisfacer la misma interfaz siempre que tengan los métodos requeridos.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Hoja de referencia
Una interfaz en Go define un contrato de firmas de métodos que un tipo debe implementar. Cualquier tipo que tenga todos los métodos requeridos satisface automáticamente la interfaz.
Las interfaces permiten escribir código flexible que funciona con cualquier tipo que pueda realizar ciertos comportamientos, de manera similar a cómo diferentes dispositivos pueden usar el mismo tomacorriente siempre que tengan la forma de enchufe correcta.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y Flujo
1Flujo de control avanzado
Switch con `fallthrough`Salir de bucles anidadosContinuar un bucle específicoLa sentencia `goto`Repaso: Control de bucles avanzado4Proyecto: Lista de tareas sencilla
Configuración del proyectoAñadir una tarea2Estructuras y Métodos
Definición de métodos en estructurasReceptores de valorReceptores de punteroElegir receptoresMétodos vs FuncionesResumen - Comportamiento de estructuras5Mapas en profundidad
Mapas de StructsPunteros como valores de MapVerificación de Maps NilComparación de MapsResumen - Contador de frecuencia de palabras3Interfaces (Conceptos básicos)
¿Qué es una interfaz?Definir una interfazImplementar una interfazUso de tipos de interfazInterfaz vacíaAserciones de tipoType SwitchResumen: Formas y comportamientos