Kada turėčiau apibrėžti metodus reikšmėms (o ne rodyklėms) sistemoje „Go“?

Apibrėžęs

type MyInt int

, norėčiau apibrėžti metodą .ShowMe () , kuris tiesiog atspausdina vertę. Tai galiu apibrėžti naudodamas * MyInt :

func (this *MyInt) ShowMe() {
    fmt.Print(*this, "\n")
}

Arba naudodamas MyInt :

func (this MyInt) ShowMe() {
    fmt.Print(this, "\n")
}

Kokiais atvejais rekomenduojama apibrėžti metodus reikšmėms, o ne rodyklėms?

9
задан Jeremy Banks 22 October 2013 в 00:42
поделиться