syntax - 如何在 Go 中声明由返回多个值的函数调用实例化的多个变量?

标签 syntax go return-type variable-declaration

假设我有一个函数:

func foo() (bool, string) { ... }

然后我想声明两个变量 bs,用函数调用 foo() 返回的值初始化。我知道我可以使用省略类型注释的“速记”语法来做到这一点:

b, s := foo();

但是,我不想使用这种速记语法。我希望使用带有变量名和预期类型的​​ var 语法。我试过这个:

var b bool, s string = foo();

但是,这给了我一个语法错误。执行此操作的正确方法是什么?

最佳答案

在大多数情况下,正确的做法是使用速记语法。这就是它的用途。

如果你不想使用速记语法,那么你可以使用var语法:

var b bool
var s string
b, s = foo()

var (
    b bool
    s string
)
b, s = foo()

没有“简写 var”语法。

关于syntax - 如何在 Go 中声明由返回多个值的函数调用实例化的多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28992271/

相关文章:

json - 在 Go 中从 JSON 文件动态定义结构

function - (a -> a) 和 a -> a 之间的区别

java - 在Java中定义自定义数组类型

json - 检查 JSON 是对象还是数组

go - 为什么没有为命名指针类型定义方法?

Java:尝试将可比较数组转换为整数数组时出错

java - 如何返回类 - 输入方法

java - 缺少返回语句方法

php - 与 echo 与返回连接时,句点和逗号之间的区别?

C 编程 - 多行注释