首頁 > 後端開發 > Golang > 如何實作具有公共欄位的 Go 結構體的共用方法?

如何實作具有公共欄位的 Go 結構體的共用方法?

Linda Hamilton
發布: 2024-11-21 07:47:09
原創
698 人瀏覽過

How to Implement Shared Methods for Go Structs with Common Fields?

如何在Go 中實現具有公共字段的結構體的共享方法

當處理共享公共字段的多個結構體時,經常需要為這些結構實作一個通用方法。雖然繼承或混合看起來像是可行的方法,但它們在 Go 中面臨局限性。

一種方法是定義一個指定所需方法的接口,如下所示:

或者,嵌入可用於實現程式碼重用。然而,這需要仔細考慮,因為嵌入字段在調用 o.Insert(this) 時不會被插入,除非它們也在嵌入類型中定義。

重要的是要記住嵌入並不支援基於繼承的方法重寫。在嵌入結構中重新定義 Save() 並在重新定義中呼叫基底類別的方法在 Go 中並不被認為是一個好的做法。

在考慮兩種方法之間時,必須評估具體要求和權衡涉及。介面方法提供了更大的靈活性,而嵌入可以提供效能優勢,但需要仔細考慮嵌入欄位的行為。

以上是如何實作具有公共欄位的 Go 結構體的共用方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板