Is it possible to declare multiple variables at once with a multiple return value function call?
I want to use it in for loop multiple variable initialization statement but can't find a way to do this in Go.
For example, this code snippet work:
x := "foo"
y, z := fmt.Print("bar")
However, when I try to use short declaration syntax x, y := "value1", "value2" it fails:
x, y, z := "foo", fmt.Print("bar")
As I understood, the compiler tries to assign both return values of a function to the second variable y.
Please advise is this a possible case in Golang, or what alternatives I can use in for loop initialization statement.

No, it's not possible.
As per the official language spec, it is not allowed to combine multi-valued expressions with other multi-or-single-valued expressions in an assignment. The section on Assignment Statements says:
And short variable declaration is a shorthand of regular variable declaration which follows the rules of assignment statements quoted above.
You could wrap the two statements into a custom function that returns 3 values and use that function in the
forloop'sInitStmt. For example: