no new variables on left side of :=

Runes picture Runes · Nov 11, 2012 · Viewed 57.8k times · Source

What's happening here?

package main

import "fmt"

func main() {

    myArray  :=[...]int{12,14,26}  ;     
    fmt.Println(myArray)

    myArray  :=[...]int{11,12,14} //error pointing on this line 

    fmt.Println(myArray) ;

}

It throws an error that says

no new variables on left side of :=

What I was doing was re-assigning values to an already declared variable.

Answer

Yogendra Singh picture Yogendra Singh · Nov 11, 2012

Remove the colon : from the second statement as you are assigning a new value to existing variable.

myArray = [...]int{11,12,14}

colon : is used when you perform the short declaration and assignment for the first time as you are doing in your first statement i.e. myArray :=[...]int{12,14,26}.