首页 > 解决方案 > Go 函数可以检查有多少返回值被消耗了吗?

问题描述

根据Go's official tour,您可以使用以下方式访问接口值的底层具体值:

t := i.(T)

如果i不包含 a T,则该语句会触发恐慌。如果您执行以下操作:

t, ok := i.(T)

i...如果不持有 a ,则不会出现恐慌T:我们ok改为检查 of 的值。

这意味着 的行为i.(T)取决于它的第二个返回值是否被消耗。普通用户编写的函数是否可以检查调用代码行是否以这种方式使用第二个(或第三个,或...)参数?或者这是一个特例?

注意标记为重复,因为不使用函数的所有参数(除了使用_)是编译时错误。鉴于必须使用所有参数,问题就变成了:您是否可以拥有具有可变数量的返回变量的函数,这在链接的问题中得到了解决。

标签: go

解决方案


推荐阅读