Bird
Raised Fist0
Goprogramming~10 mins

Variable declaration using var in Go - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Variable declaration using var
Start
↓
Declare variable with var
↓
Assign default zero value
↓
Use variable in code
↓
End
The program starts by declaring a variable using var, which assigns a default zero value. Then the variable can be used in the code.
Execution Sample
Go
package main
import "fmt"
var x int
func main() {
  fmt.Println(x)
}
Declares an integer variable x using var and prints its default value 0.
Execution Table
StepActionVariableValueOutput
1Declare variable x with varx0 (default int)
2Enter main functionx0
3Print xx00
4Program endsx0
💡 Program ends after printing the default value of x which is 0.
Variable Tracker
VariableStartAfter DeclarationAfter PrintFinal
xundefined000
Key Moments - 2 Insights
Why does x have the value 0 even though we didn't assign anything?
In Go, when you declare a variable with var but don't assign a value, it automatically gets the zero value for its type. See execution_table step 1 where x is set to 0.
Can we use x before declaring it with var?
No, variables must be declared before use. The execution_table shows declaration happens first (step 1) before printing (step 3).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of x right after declaration?
Aundefined
B1
C0
Dnil
💡 Hint
Check execution_table row 1 under Value column.
At which step does the program print the value of x?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
Look for the step with Action 'Print x' in execution_table.
If we change var x int to var x string, what would be the default value of x?
A"" (empty string)
B0
Cnil
Dundefined
💡 Hint
Recall Go assigns zero value based on type; for string it's empty string.
Concept Snapshot
var declares a variable with a type.
If no value assigned, Go sets zero value by type.
Example: var x int sets x to 0.
Use variable after declaration.
Zero values: int=0, string="", bool=false.
Full Transcript
This example shows how to declare a variable in Go using var. When you write var x int, Go creates x as an integer variable and sets it to 0 automatically because no value was assigned. The program then prints x, showing 0. Variables must be declared before use. Different types have different zero values, like empty string for string type. This helps avoid errors from uninitialized variables.

Practice

(1/5)
1. What does the var keyword do in Go?
easy
A. Starts a loop
B. Creates a function
C. Imports a package
D. Declares a variable with a name and type

Solution

  1. Step 1: Understand the role of var

    The var keyword is used to declare variables in Go, giving them a name and a type.
  2. Step 2: Differentiate from other keywords

    Other keywords like func, import, and for serve different purposes, not variable declaration.
  3. Final Answer:

    Declares a variable with a name and type -> Option D
  4. Quick Check:

    var declares variables [OK]
Hint: Remember: var means variable declaration [OK]
Common Mistakes:
  • Confusing var with func or import
  • Thinking var creates loops
  • Assuming var is for constants
2. Which of the following is the correct way to declare an integer variable named count using var in Go?
easy
A. var count int
B. var count = int
C. count var int
D. int var count

Solution

  1. Step 1: Recall Go variable declaration syntax

    In Go, the correct syntax is var variableName type, so var count int is correct.
  2. Step 2: Check other options for syntax errors

    Options A, C, and D do not follow Go's syntax rules for variable declaration.
  3. Final Answer:

    var count int -> Option A
  4. Quick Check:

    var name type = var count int [OK]
Hint: Use 'var name type' format for declaration [OK]
Common Mistakes:
  • Placing var after variable name
  • Using '=' without value
  • Swapping type and var keywords
3. What will be the output of this Go program?
package main
import "fmt"
func main() {
    var x int = 10
    var y int
    y = 5
    fmt.Println(x + y)
}
medium
A. 5
B. 10
C. 15
D. 0

Solution

  1. Step 1: Identify variable values

    Variable x is declared with value 10, y is declared then assigned 5.
  2. Step 2: Calculate the sum printed

    The program prints x + y which is 10 + 5 = 15.
  3. Final Answer:

    15 -> Option C
  4. Quick Check:

    10 + 5 = 15 [OK]
Hint: Add assigned values of variables to find output [OK]
Common Mistakes:
  • Assuming uninitialized y is zero without assignment
  • Confusing variable declaration with initialization
  • Ignoring the assignment to y
4. Find the error in this Go code snippet:
package main
func main() {
    var name string = "Go"
    var age
    age = 10
}
medium
A. Missing type for variable 'age' in declaration
B. Cannot assign value after declaration
C. String value assigned to integer variable
D. Variable 'name' declared incorrectly

Solution

  1. Step 1: Check variable declarations

    The variable age is declared without a type or initial value, which is invalid in Go.
  2. Step 2: Understand Go's requirement for var declarations

    Go requires a type or an initial value when using var. Here, age has neither.
  3. Final Answer:

    Missing type for variable 'age' in declaration -> Option A
  4. Quick Check:

    var needs type or value [OK]
Hint: Always specify type or initial value with var [OK]
Common Mistakes:
  • Declaring var without type or value
  • Assuming assignment after declaration fixes type
  • Confusing var with := shorthand
5. You want to declare two variables, a as an integer with value 5 and b as a string with value "hello", using var. Which is the correct way to do this in Go?
hard
A. var a, b int = 5, "hello"
B. var a int = 5; var b string = "hello"
C. var a = 5, b = "hello"
D. var a int, b string = "hello", 5

Solution

  1. Step 1: Understand type declaration for multiple variables

    In Go, when declaring multiple variables with different types, each must be declared separately or with explicit types.
  2. Step 2: Evaluate each option

    var a, b int = 5, "hello" tries to declare both as int but assigns a string to b, which is invalid. var a = 5, b = "hello" uses shorthand but mixes types without explicit declaration. var a int, b string = "hello", 5 mixes types incorrectly in one statement. var a int = 5; var b string = "hello" correctly declares each variable with its type and value.
  3. Final Answer:

    var a int = 5; var b string = "hello" -> Option B
  4. Quick Check:

    Separate var declarations for different types [OK]
Hint: Declare different types separately with var [OK]
Common Mistakes:
  • Trying to declare different types in one var line
  • Mixing types without explicit declaration
  • Using shorthand := incorrectly with var
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard