Menu
Coddy logo textTech

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.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

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.

quiz iconPonte a prueba

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