首頁 > 後端開發 > Golang > 如何在 Go 中映射具有不同簽名的函數?

如何在 Go 中映射具有不同簽名的函數?

Mary-Kate Olsen
發布: 2024-12-10 22:15:14
原創
862 人瀏覽過

How Can I Map Functions with Different Signatures in Go?

Go 中的映射函數

在 Go 中,映射提供了一種將鍵與其各自的值關聯起來的強大方法。要映射函數,鍵通常是表示函數名稱或識別符的字串,而值是函數引用。

範例:

考慮以下內容Go程序:

在這個例子中,使用了一個map m來儲存鍵「a」和函數參考之間的映射a.該循環遍歷映射並執行與「a」鍵關聯的函數,並傳入字串「hello」作為參數。

處理各種函數簽章:

但是,在最初的嘗試中,您在嘗試在映射中儲存具有不同簽章的函數時遇到了問題。這是因為映射中的值類型被宣告為 func()。為了處理具有不同簽名的函數,我們可以使用介面作為值類型,例如下面修改後的範例中使用的interface{}:

透過使用interface{}類型,我們允許映射來存儲任何類型的值,包括具有不同簽名的函數。然後,我們在循環中使用顯式類型轉換來執行具有各自參數的函數。

以上是如何在 Go 中映射具有不同簽名的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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