Elegir receptores
Parte de la sección Lógica y Flujo del Journey de GO de Coddy — lección 9 de 68.
Ahora que entiendes tanto los receptores de valor como los de puntero, la pregunta clave es: ¿cuándo deberías usar cada uno? La decisión se reduce a lo que tu método necesite hacer con el receptor.
Usa un pointer receiver cuando tu método necesite modificar el struct original. Dado que los pointer receivers trabajan con la instancia real del struct, cualquier cambio realizado dentro del método persistirá después de que el método retorne. Esto es esencial para los métodos que actualizan campos, cambian el estado o realizan operaciones que deban afectar a los datos originales.
Usa un receptor de valor cuando tu método solo necesite leer datos del struct sin cambiarlo. Los receptores de valor trabajan con una copia, por lo que son perfectos para métodos que calculan valores, formatean la salida o realizan cualquier operación que no requiera modificar el struct original. También proporcionan seguridad al garantizar que los datos originales permanezcan inalterados.
Como regla general: si tu método cambia el struct, usa un receptor de puntero. Si tu método solo lee del struct, usa un receptor de valor. Este enfoque aclara las intenciones de tu código y ayuda a prevenir modificaciones no deseadas en tus datos.
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