Tôi đang học Go, và tôi hơi bối rối khi sử dụng con trỏ. Cụ thể, khi trả về một struct
từ một hàm, khi nào nó thích hợp để trả về cá thể struct, và khi nào nó thích hợp để trả về một con trỏ tới cấu trúc?Khi nào thì một ý tưởng hay là trả về một con trỏ cho một cấu trúc?
Ví dụ mã:
type Car struct {
make string
model string
}
func Whatever() {
var car Car
car := Car{"honda", "civic"}
// ...
return car
}
các tình huống mà tôi muốn trả về một con trỏ là gì, và ở đâu tôi sẽ không muốn? Có một quy tắc tốt của ngón tay cái?
Đây không phải là C ... –
Quy tắc tương tự sẽ không áp dụng? – Carson
không, các quy tắc khác nhau cho các ngôn ngữ khác nhau. Mọi ngôn ngữ đều có sự cẩn trọng, và cá nhân tôi không biết Go, vì vậy tôi không thể nói được, nhưng tôi biết rằng trong C, việc trả về một con trỏ tới một đối tượng được phân bổ trên stack là một không-không lớn. –