首頁 > 後端開發 > Golang > 如何調整函數來實現 Go 中的介面?

如何調整函數來實現 Go 中的介面?

Linda Hamilton
發布: 2024-11-07 06:24:02
原創
351 人瀏覽過

How Can You Adapt a Function to Implement an Interface in Go?

實作介面的函數

在 Go 中,介面定義了一組必須實作的方法。如果一個類型提供了介面聲明的所有方法,則該類型實作了該介面。

範例1:直接實作介面

以下程式碼定義了Handler 介面和實作它的類型:

這裡,Counter 類型有一個ServeHTTP 方法,該方法接受Handler 介面所需的參數。因此,Counter 實作了 Handler 介面。

範例 2:使用函數實作介面

在此範例中,名為 notFound 的函數不是有效的 Handler類型,因為它沒有所需的方法:

要讓notFound實現Handler接口,需要將其“欺騙”成以下形式:

這裡,HandlerFunc是一種接受兩個參數且不回傳任何內容的類型。透過將 notFound 包裝在 HandlerFunc 中並將其指派給變量,notFound 就成為有效的 Handler 類型。

說明

這裡的關鍵概念是可以使用變數 Handle404作為處理程序,儘管它實際上是一個函數。這是因為 HandlerFunc 類型實作了該函數的 ServeHTTP 方法。當你呼叫Handle404.ServeHTTP時,它實際上是在呼叫notFound函數。

這種方法允許直接使用沒有實作Handler介面的函數。它本質上是一種“調整”函數以適應介面要求的方法。

以上是如何調整函數來實現 Go 中的介面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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