Go: Assign multiple return value function to new and old variable

In go there are functions which return two values or more values, commonly one is an error. Suppose that I want to store the first return value into an already initialized variable, but I would like to initialize the variable to contain the error inline. Is there a way to do this?

For example, say I had this code

var a int
//This code doesn't compile because err doesn't exist
a, err = SomeFuncWithTwoReturnValues()
//This code doesn't compile either
a, err := SomeFuncWithTwoReturnValues()

I know you could do this, but I was hoping there was a way to do it all inline

var a int
var err error
a, err = SomeFuncWithTwoReturnValues()

or

a, err := SomeFuncWithTwoReturnValues()

EDIT: The code above actually compiles, so I looked back at my code to drill down more and have created a quick sample that actually replicates the problem (not just in my mind…).

package main

func myfunc() (int, int) {
    return 1, 1
}

func main() {
    a := make([]int, 1)
    a[0], b := myfunc()
    a[0] = b
}

Compiler says main.go|9| non-name a[0] on left side of := . If I make it = instead of := though then b is never created. I get the feeling that there is not shorthand way to do it though.

go