Sto imparando Go, e sono un po 'confuso su quando usare i puntatori. In particolare, quando si restituisce un struct
da una funzione, quando è opportuno restituire l'istanza struct stessa e quando è opportuno restituire un puntatore alla struct?Quando è consigliabile restituire un puntatore a una struttura?
codice Esempio:
type Car struct {
make string
model string
}
func Whatever() {
var car Car
car := Car{"honda", "civic"}
// ...
return car
}
Quali sono le situazioni in cui vorrei restituire un puntatore, e dove avrei non vuole? C'è una buona regola empirica?
Questo non è C ... –
Le stesse regole non si applicano? – Carson
no, diverse regole per diverse lingue. Ogni lingua ha i suoi avvertimenti, e io personalmente non conosco Go, quindi non posso parlarne, ma so che in C, restituire un puntatore a un oggetto allocato nello stack è un no-no gigante. –