Declaring Variables #
In Go, there are two primary ways to declare a variable:
✅ 1. Using the var Keyword
#
Declare a variable using the var keyword, followed by the variable name, type, and optionally an initial value.
Syntax: #
var variableName type = value💡 Note: You must specify either the type, the value, or both.
Example: #
package main
import "fmt"
func main() {
var student1 string = "John"
var student2 = "Jane" // Type is inferred automatically
fmt.Println(student1)
fmt.Println(student2)
}✅ 2. Using the := Shorthand
#
Declare and initialize a variable in one line using :=.
The compiler automatically infers the variable’s type based on the value.
Syntax: #
variableName := value👉 Important: This shorthand can only be used inside functions and must include an initial value.
Example: #
package main
import "fmt"
func main() {
x := 2
message := "Hello Go"
fmt.Println(x)
fmt.Println(message)
}✅ Variable Declaration Without Initial Value #
If you declare a variable without assigning an initial value, Go automatically assigns a default value based on the type.
Example: #
package main
import "fmt"
func main() {
var a string
var b int
var c bool
fmt.Println(a) // Output: ""
fmt.Println(b) // Output: 0
fmt.Println(c) // Output: false
}✅ Assign Value After Declaration #
You can declare a variable first and assign its value later.
Example: #
package main
import "fmt"
func main() {
var student1 string
student1 = "John"
fmt.Println(student1)
}👉 Note:
Using := without assigning a value is not allowed.
✅ Difference Between var and :=
#
| Feature | var | := |
|---|---|---|
| Scope | Can be used inside and outside functions | Only inside functions |
| Declaration + Initialization | Can be separate | Must be done in the same line |
| Example | var a int = 1 | a := 1 |
Example of var Outside Function:
#
package main
import "fmt"
var a int
var b int = 2
var c = 3
func main() {
a = 1
fmt.Println(a, b, c)
}Example of := Outside Function (Error):
#
package main
import "fmt"
a := 1 // ❌ Syntax error
func main() {
fmt.Println(a)
}Result:
./prog.go:5:1: syntax error: non-declaration statement outside function body🚀 By understanding these methods, you’ll have a solid foundation for variable management in Go. Explore more about declaring multiple variables and naming rules next.