Golang Operator Overloading

ch verstehe, dass Golang keine Überlastung der Bediener bietet, da es der Ansicht ist, dass es die Komplexität erhöh

So möchte ich das für Strukturen direkt implementieren.

package main

import "fmt"

type A struct {
    value1 int
    value2 int
}

func (a A) AddValue(v A) A {
    a.value1 += v.value1
    a.value2 += v.value2
    return a
}


func main() {
    x, z := A{1, 2}, A{1, 2}
    y := A{3, 4}

    x = x.AddValue(y)

    z.value1 += y.value1
    z.value2 += y.value2

    fmt.Println(x)
    fmt.Println(z)
}

https: //play.golang.org/p/1U8omyF8-

Aus dem obigen Code wird dasMehrwer funktioniert wie ich will. Meine einzige Sorge ist jedoch, dass es sich um eine Wertübergabe handelt und ich daher den neu hinzugefügten Wert jedes Mal zurückgeben muss.

Gibt es eine andere bessere Methode, um zu vermeiden, dass die aufsummierte Variable zurückgegeben wird?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage