首頁  >  文章  >  後端開發  >  嵌入還是不嵌入:何時應該在 Go 中的結構嵌入中使用指標?

嵌入還是不嵌入:何時應該在 Go 中的結構嵌入中使用指標?

Patricia Arquette
Patricia Arquette原創
2024-10-30 18:01:30341瀏覽

 To Embed or Not to Embed: When Should You Use Pointers in Struct Embedding in Go?

Go 中的嵌入:指針與值

簡介

在Go 中將一個結構體嵌入到另一個結構體中時,可能會出現以下情況:想知道是使用指標還是值。本文探討了差異以及每種方法何時適用。

指標嵌入

規格允許嵌入型別名稱 T 或指向非介面的指標型別名稱 *T,前提是 T 本身不是指標型。

指針嵌入的優點

正如Eric Urban (Hydrogen18) 在《Go 中的嵌入》中所解釋的那樣,” 透過指針嵌入具有以下幾個優點:

  • 動態初始化:人們可以利用使用NewX 習慣用法的函數透過指標傳回結構以用於初始化目的。 :
  • 嵌入指標允許在執行時間變更嵌入實例,使多個渲染實例能夠共用單一Bitmap 實例。實例共享底層資料結構並顯示出顯著的記憶體節省。或接口,因為這些類型沒有方法。

以上是嵌入還是不嵌入:何時應該在 Go 中的結構嵌入中使用指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn