Métodos vs Funciones
Parte de la sección Lógica y Flujo del Journey de GO de Coddy — lección 10 de 68.
Si bien tanto los métodos como las funciones realizan operaciones en Go, sirven para propósitos diferentes y tienen patrones de declaración distintos. Comprender esta diferencia es crucial para escribir código claro y organizado.
Una función es autónoma e independiente. No pertenece a ningún tipo específico:
func calculateArea(width, height float64) float64 {
return width * height
}Un método se adjunta a un tipo específico a través de un receptor. Pertenece a ese tipo y puede acceder a sus datos:
func (r Rectangle) area() float64 {
return r.Width * r.Height
}La diferencia clave radica en cómo se llaman. Las funciones se llaman directamente por su nombre, mientras que los métodos se llaman en instancias de su tipo asociado utilizando la notación de punto. Esta asociación hace que los métodos sean perfectos para definir comportamientos que pertenecen naturalmente a sus tipos personalizados, mientras que las funciones funcionan bien para operaciones de propósito general que no necesitan estar vinculadas a estructuras de datos específicas.
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 función es autónoma e independiente:
func calculateArea(width, height float64) float64 {
return width * height
}Un método está vinculado a un tipo específico a través de un receptor:
func (r Rectangle) area() float64 {
return r.Width * r.Height
}Las funciones se llaman directamente por su nombre, mientras que los métodos se llaman en instancias utilizando la notación de punto.
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