Estoy aprendiendo Go, y estoy un poco confundido sobre cuándo usar punteros. Específicamente, al devolver un struct
desde una función, ¿cuándo es apropiado devolver la instancia de la estructura en sí, y cuándo es apropiado devolver un puntero a la estructura?¿Cuándo es una buena idea devolver un puntero a una estructura?
código Ejemplo:
type Car struct {
make string
model string
}
func Whatever() {
var car Car
car := Car{"honda", "civic"}
// ...
return car
}
¿Cuáles son las situaciones en las que me gustaría para devolver un puntero, y en el que se no quieren? ¿Hay una buena regla general?
Esto no es C ... –
¿No se aplicarían las mismas reglas? – Carson
no, diferentes reglas para diferentes idiomas. Todos los idiomas tienen sus advertencias, y yo personalmente no sé Ir, así que no puedo hablar por ello, pero sí sé que en C, devolver un puntero a un objeto asignado en la pila es un no-no gigante. –