我有這個應用程序,其中根據結構中的字符串過濾請求并執行不同的功能。我的方法是使用 Map 將字符串映射到函數指針并執行它們。然而,這種方法正受到希望通過反射進行過濾的隊友的反對。我們正在使用 Go,它用于監控我們網站的活動。隊友做法:利用反射根據字符串切換對象,將字符串傳遞給函數,讓函數調用相關函數。我的方法:從字符串到函數的簡單映射任何幫助表示贊賞。
1 回答

白板的微信
TA貢獻1883條經驗 獲得超3個贊
基于反射的自動發現的缺點是你永遠必須小心你添加到系統中的內容,因為它可以被自動拾取。
vs 映射方法,您需要顯式公開每個函數。
當然,反射更酷,更具有自動魔力。但是 auto-magical 并不能很好地將其用于安全性或長期可維護性。
另外,如果您嘗試注冊不匹配的函數,則 map[string]func(具有特定簽名)將無法編譯。
你會在哪里找到帶有反射的東西,然后思考為什么它是一個運行時失敗。
- 1 回答
- 0 關注
- 224 瀏覽
添加回答
舉報
0/150
提交
取消