gpt4 book ai didi

go - 如何减少返回类型的冗长

转载 作者:行者123 更新时间:2023-12-01 22:40:33 27 4
gpt4 key购买 nike

我有这个:

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) {
// ...
}
}

即使返回类型就在那里,我也必须声明返回类型,这太糟糕了,有没有办法不必重复返回类型声明?

最佳答案

您说您不想“用类型声明重复自己”,而是 return 之后的部分不是类型声明;它是函数文字的开始。

如果您想要一个函数字面量(或在包级别定义的函数或方法),您必须指定参数、它们的类型和返回类型。没有办法解决这个问题。

如果您可以将函数表示为计算的结果,那么您可以依赖类型推断。例如,如果您有一个返回 martini http 处理程序的函数,那么您可以 return myMartiniHandler(123)没有任何类型。不过,这将是一个异常(exception)情况,因为大多数处理程序不只是重用一些现有代码。

关于go - 如何减少返回类型的冗长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60679409/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com