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

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

Linda Hamilton
Linda Hamilton原創
2024-11-21 07:47:09707瀏覽

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

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

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

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

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

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

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

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

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