为了账号安全,请及时绑定邮箱和手机立即绑定

如何减少返回类型的冗长

如何减少返回类型的冗长

Go
米琪卡哇伊 2022-05-23 15:05:32
我有这个: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)不使用任何类型。不过,这将是一个例外情况,因为大多数处理程序不只是重用一些现有代码。


查看完整回答
反对 回复 2022-05-23
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信