In Go ermöglicht die Einbettbarkeit die Wiederverwendung von Feldern und Methoden eines Typs innerhalb eines anderen Typs. Sie haben jedoch die Möglichkeit, die Einbettung nach Zeiger oder Wert vorzunehmen. Die Wahl zwischen beiden kann sich auf das Verhalten und die Effizienz Ihres Codes auswirken.
Wenn Sie einen Typ per Zeiger einbetten, wird auf die Felder des eingebetteten Typs über Zeiger zugegriffen. Dieser Ansatz ist nützlich, wenn:
Wenn Sie einen Typ nach Wert einbetten, werden die Felder des eingebetteten Typs in den Einbettungstyp kopiert. Dies wird bevorzugt, wenn:
Im Beispiel vorausgesetzt:
type Bitmap struct{ data [4][4]bool } type Renderer struct{ *Bitmap on uint8 off uint8 }
Einbettung nach Wert ist in diesem Fall im Allgemeinen vorzuziehen, weil:
Das obige ist der detaillierte Inhalt vonBeim Einbetten in Go: Zeiger oder Wert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!