我有這個:type ret = func(http.ResponseWriter, martini.Params, *http.Request);func VerifyParam(paramName string, validators... func()) ret { return func(res http.ResponseWriter, params martini.Params, req *http.Request) { // ... }}即使返回類型就在那里,我也必須聲明返回類型太糟糕了,有沒有辦法不必重復返回類型聲明?
1 回答

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
你說你不想“用類型聲明重復自己”,但后面的部分return
不是類型聲明;它是函數文字的開始。
如果您想要一個函數字面量(或在包級別定義的函數或方法),則必須指定參數、它們的類型和返回類型。沒有辦法解決這個問題。
如果您可以將函數表示為計算的結果,那么您可以依賴類型推斷。例如,如果您有一個返回 martini http 處理程序的函數,那么您可以return myMartiniHandler(123)
不使用任何類型。不過,這將是一個例外情況,因為大多數處理程序不只是重用一些現有代碼。
- 1 回答
- 0 關注
- 151 瀏覽
添加回答
舉報
0/150
提交
取消