首頁 > 後端開發 > Golang > 如何為 Go 中的現有類型新增自訂方法?

如何為 Go 中的現有類型新增自訂方法?

Linda Hamilton
發布: 2024-12-29 10:49:11
原創
240 人瀏覽過

How Can I Add Custom Methods to Existing Types in Go?

向 Go 中的現有類型添加新方法

在 Go 中使用現有類型時,可能需要使用自訂方法來擴展它們以增強功能。但是,正如提供的範例程式碼所示,禁止直接向非局部類型添加方法。

要克服此限制,主要考慮兩種方法:

1。定義包裝類型:

  • 建立一個新的結構類型(例如,MyRouter),其中包含原始類型作為匿名或嵌入欄位。
  • 範例:

    type MyRouter struct {
      mux.Router // Anonymous field
    }
    
    func (m *MyRouter) F() { ... }
    
    r := &MyRouter{origRouter}
    r.F()
    登入後複製

2.嵌入原始型別:

  • 將字段嵌入新的結構類型(例如MyRouter)。
  • 範例:

    type MyRouter struct {
      *mux.Router // Embedded field
    }
    
    func (m *MyRouter) F() { ... }
    
    router := &MyRouter{origRouter}
    router.F()
    登入後複製

這兩種方法都允許您擴充現有類型,而無需修改原來的套件。透過建立新類型或嵌入原始類型,您可以定義可對自訂類型的實例進行操作的其他方法。

以上是如何為 Go 中的現有類型新增自訂方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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