Go - Short Variable Declaration
Go provides a shorthand syntax for declaring and initializing variables using the :=
operator:
- The short assignment statement
:=
can be used instead of avar
declaration - Short variable declarations may appear only inside functions
- They can be used to declare local temporary variables
- Constants cannot be declared using this syntax
go
func main() { // Declare and initialize variables inside a function. name := "John" age := 20 // Multiple variables may be declared and initialized in the same declaration. i, j := 0, 1}
Short variable declarations may appear in some contexts such as the initializers for if
, for
or switch
statements:
go
func main() { for i := 0; i < 10; i++ { // ... } if err := f(); err != nil { // ... } switch x := f(); x { // ... }}
A short variable declaration may act like an assignment only to variables that were already declared in the same block with the same type:
go
func main() { f1, err := os.Open("file1") f2, err := os.Open("file2") // reassign to "err"}
A short variable declaration must declare at least 1 new variable:
go
func main() { // This code will not compile. f, err := os.Open("file1") f, err := os.Open("file2") // error: no new variables on left side of :=}