Sobes.tech
Junior — Middle

¿En qué se diferencia un método de una función y cuáles son las características de su uso?

sobes.tech AI

Respuesta de la IA

En Go, una función es un bloque de código independiente que se puede llamar por su nombre y que puede aceptar parámetros y devolver valores.

Un método es una función vinculada a un tipo específico (por ejemplo, una estructura). El método se declara con un receptor, que determina a qué tipo pertenece.

Características de uso:

  • El método permite trabajar con datos de un tipo específico, usando el receptor dentro del cuerpo del método.
  • Los métodos ayudan a organizar el código y a implementar comportamientos para los tipos, lo que acerca a Go al estilo orientado a objetos.

Ejemplo:

package main
import "fmt"

type Person struct {
    Name string
}

// Método con receptor de tipo Person
func (p Person) Greet() {
    fmt.Println("Hola, me llamo", p.Name)
}

// Función normal
func Add(a, b int) int {
    return a + b
}

func main() {
    p := Person{Name: "Ivan"}
    p.Greet() // llamada al método
    fmt.Println(Add(2, 3)) // llamada a la función
}