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 :=
}