Tomemos un ejemplo simple para comprender cómo usar métodos en Go:
```ir
// Definir un tipo de persona
escriba estructura de persona {
cadena de nombre
edad int
}
// Declarar métodos para el tipo Persona
func (p *Persona) Saludar() {
fmt.Printf("¡Hola, mi nombre es %s y tengo %d años!\n", p.name, p.age)
}
func (p *Persona) SetName(cadena de nombre) {
p.nombre =nombre
}
func (p *Persona) SetAge(edad int) {
p.age =edad
}
función principal() {
// Crea una nueva instancia de Persona
persona :=Persona{
nombre:"John Doe",
edad:30,
}
// Usa el método Greet en la instancia de persona
persona.Saludar()
// Usa el método SetName para cambiar el nombre de la persona
persona.SetName("Jane Doe")
// Usa el método SetAge para cambiar la edad de la persona.
persona.SetAge(35)
// Usa el método Greet nuevamente para ver el nombre y la edad actualizados
persona.Saludar()
}
```
En este ejemplo:
- Definimos un tipo llamado Persona con los campos nombre y edad.
- Declaramos tres métodos para el tipo Persona:Greet(), SetName() y SetAge(). Cada método toma un receptor de puntero (*Persona) y opera en la instancia del receptor.
- En la función principal, creamos una nueva instancia de Persona y llamamos al método Greet en ella.
- Luego utilizamos los métodos SetName y SetAge para modificar el nombre y la edad de la persona.
- Finalmente, volvemos a llamar al método Greet para ver el nombre y la edad actualizados.