私はGoを学んでいますが、私はポインターをいつ使うのか少し混乱しています。具体的には、関数からstruct
を返すときは、いつstructインスタンス自体を返すのが適切で、いつstructにポインタを返すのが適切なのでしょうか?構造体へのポインタを返すのは良い考えですか?
例コード:
type Car struct {
make string
model string
}
func Whatever() {
var car Car
car := Car{"honda", "civic"}
// ...
return car
}
私はポインタを返すようにしたいと思うような状況で、どこがはしたくないでしょうか?親指の良いルールはありますか?
これはC言語ではありません。 –
同じルールは適用されませんか? – Carson
いいえ、異なる言語のための異なる規則。すべての言語には注意点がありますが、私は個人的にはGoを知らないので、私はそれについて話すことはできませんが、C言語では、スタックに割り当てられたオブジェクトへのポインタを返すことは巨大であるということはわかります。 –