Uczę się Go, a ja jestem nieco zdezorientowany, kiedy używać wskaźników. Konkretnie, po zwróceniu struct
z funkcji, kiedy jest właściwe, aby zwrócić samą instancję struct i kiedy jest właściwe zwrócenie wskaźnika do struct?Kiedy to jest dobry pomysł, aby zwrócić wskaźnik do struktury?
Przykładowy kod:
type Car struct {
make string
model string
}
func Whatever() {
var car Car
car := Car{"honda", "civic"}
// ...
return car
}
Jakie są sytuacje, w których chciałbym wrócić wskaźnik, a gdzie ja nie chcą? Czy istnieje dobra zasada?
To nie jest C ... –
Czy te same zasady nie mają zastosowania? – Carson
nie, różne zasady dla różnych języków. Każdy język ma swoje ograniczenia, a ja osobiście nie znam Go, więc nie mogę mówić za to, ale wiem, że w C, zwracanie wskaźnika do obiektu przydzielonego na stosie jest gigantycznym nie-nie. –