Перегрузка оператора Голанга

Я понимаю, что golang не обеспечивает перегрузку операторов, так как считает, что это увеличивает сложность.

Поэтому я хочу реализовать это непосредственно для структур.

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-V

Из приведенного выше кода,Добавить значение работает как я хочу. Однако меня беспокоит только то, что это передача по значению, и поэтому я должен возвращать вновь добавленную стоимость каждый раз.

Есть ли другой лучший способ, чтобы избежать возврата суммированной переменной.

Ответы на вопрос(1)

Ваш ответ на вопрос