首页 > 解决方案 > 在golang中有多个返回值的函数返回1个值

问题描述

我只想向具有多个返回值的函数返回 1 个值。我试过这个:

func myFunc() (int, int){
    return _, 3
}

但它不起作用并引发了这个错误:不能使用 _ 作为值

我已经知道有可能接收到返回值之一。

有没有办法只返回 1 个值?

标签: gomultiple-return-values

解决方案


对其他返回参数使用零值:

func myFunc() (int, int){
    return 0, 3
}

如果您使用命名结果参数,您还可以执行以下操作:

func myFunc() (x, y int){
    y = 3
    return
}

在这种情况下x,也将是其类型的零值,0如果是int.

您还可以编写一个辅助函数来添加一个虚拟返回值,例如:

func myFunc() (int, int) {
    return extend(3)
}

func extend(i int) (int, int) {
    return 0, i
}

但个人认为不值得。只需为“未使用”的返回参数返回零值。


推荐阅读