首頁  >  文章  >  後端開發  >  如何動態迭代 Go 套件中的方法?

如何動態迭代 Go 套件中的方法?

Patricia Arquette
Patricia Arquette原創
2024-11-16 16:51:03485瀏覽

How can I dynamically iterate through methods in a Go package?

在Go 中動態迭代套件

問題:

作為Go 的初學者,您正在建立計算器目前支持加法和減法。您設想未來的功能,例如乘法和除法。但是,您發現addition.go 和subtraction.go 檔案中的當前方法過於冗長,因此需要尋求更動態的解決方案。有沒有辦法找到計算器包中的所有方法並動態迭代它們?

答案:

不幸的是,Go 沒有提供內建機制來內省包的內容並動態地迭代它們的方法。編譯器僅包含可執行檔中明確引用的函數和變數。在 Go 中,迭代可能不完整的符號集被認為沒有用。

替代解決方案:

作為動態迭代的替代方案,您可以使用陣列來保存您想要操作並迭代該陣列的類型的物件。此方法涉及建立介面切片:

然後,您可以將特定類型的物件附加到切片:

然後您可以迭代該切片並呼叫動態方法:

這種方法提供了一種靈活的方法來迭代套件中的計算器操作,而不需要動態內省。

以上是如何動態迭代 Go 套件中的方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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