Go语言多返回值函数如何仅返回单个返回值?
问题解答
Go 语法不支持在声明了多返回值的函数中仅返回单个值,你遇到的报错是空白标识符的使用规则导致的:
- 空白标识符
_仅可用于接收/忽略值的场景(比如调用多返回值函数时忽略不需要的返回值),不能作为有效值被主动返回,因此return _, 3写法不合法。 - 只要函数签名明确声明了N个返回值,返回语句就必须提供对应数量、匹配类型的返回值,没有省略返回值的语法支持。
正确实现方式
如果你不需要某一个返回位的有效值,直接返回该类型的零值即可,你给出的示例可以修改为:
func myFunc() (int, int){ // 第一个返回位不需要有效值,返回int类型的零值0即可 return 0, 3 }
常见类型的零值参考:
- 数值类型(int、float等):
0 - 布尔类型:
false - 字符串类型:
"" - 指针、切片、map、通道、error接口等类型:
nil
内容的提问来源于stack exchange,提问作者Moj Taba
相关产品推荐
相关产品推荐

