Я учусь, и я немного смущен, когда использовать указатели. В частности, при возврате функции struct
из функции, когда целесообразно возвращать сам экземпляр структуры и когда целесообразно возвращать указатель на структуру?Когда это хорошая идея, чтобы вернуть указатель на структуру?
Пример кода:
type Car struct {
make string
model string
}
func Whatever() {
var car Car
car := Car{"honda", "civic"}
// ...
return car
}
Какие ситуации, в которых я хотел бы вернуть указатель, и где я бы не хотите? Есть хорошее правило?
Это не C ... –
Те же правила не применяются? – Carson
нет, разные правила для разных языков. У каждого языка есть свои оговорки, и я лично не знаю «Go», поэтому я не могу говорить за него, но я знаю, что в C, вернув указатель на объект, выделенный в стеке, это гигантский no-no. –