Go Métodos


Ejemplo

Los métodos de Struct son muy similares a las funciones:

type User struct {
    name string
}

func (u User) Name() string {
    return u.name
}

func (u *User) SetName(newName string) {
    u.name = newName
}

La única diferencia es la adición del método receptor. Se puede declarar como una instancia del tipo o un puntero a una instancia del tipo. Como SetName() muta la instancia, el receptor debe ser un puntero para realizar un cambio permanente en la instancia.

Por ejemplo:

package main

import "fmt"

type User struct {
    name string
}

func (u User) Name() string {
    return u.name
}

func (u *User) SetName(newName string) {
    u.name = newName
}

func main() {
    var me User

    me.SetName("Slim Shady")
    fmt.Println("My name is", me.Name())
}

Ir al patio de recreo