Go:具有多返回值函数的多变量短声明语句

问题描述 投票:0回答:1

是否可以通过多返回值函数调用一次声明多个变量?

我想在 for 循环多变量初始化语句中使用它,但在 Go 中找不到方法。

例如,此代码片段有效:

x := "foo"
y, z := fmt.Print("bar")

但是,当我尝试使用短声明语法时

x, y := "value1", "value2"
它失败了:

x, y, z := "foo", fmt.Print("bar")

据我了解,编译器尝试将函数的两个返回值分配给第二个变量y

请告知这在 Golang 中是否可能出现,或者我可以在 for 循环初始化语句中使用哪些替代方案。

go variable-assignment shorthand multiple-variable-return
1个回答
0
投票

根据文档,

fmt.Print
返回 2 个值。所以,你不能分配这样的东西。

以下是文档

以下一项有效,因为您正在分配从 fmt.Print 返回的 2 个值。

x := "foo"
y, z := fmt.Print("bar")
© www.soinside.com 2019 - 2024. All rights reserved.