Operador de sobrecarga de Golang
Entiendo que golang no proporciona sobrecarga del operador, ya que cree que está aumentando la complejidad.
Entonces quiero implementar eso para estructuras directamente.
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
Del código anterior, elAñadir valor funciona como yo quiero. Sin embargo, mi única preocupación es que es un pase por valor y, por lo tanto, tengo que devolver el nuevo valor agregado cada vez.
¿Existe algún otro método mejor para evitar devolver la variable resumida?