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
}