Go Les méthodes


Exemple

Les méthodes Struct sont très similaires aux fonctions:

type User struct {
    name string
}

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

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

La seule différence est l'ajout du récepteur de méthode. Il peut être déclaré soit comme une instance du type, soit comme un pointeur sur une instance du type. Étant donné que SetName() modifie l'instance, le récepteur doit être un pointeur afin d'effectuer un changement permanent dans l'instance.

Par exemple:

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())
}

Aller au terrain de jeu