📖 Scenario: Imagine you are creating a simple program to track basic information about a product in a store. You want to understand how Go automatically sets default values for variables when you don't assign them explicitly.
🎯 Goal: You will create variables of different types without assigning values and observe their zero values in Go.
📋 What You'll Learn
Create variables of type int, float64, bool, and string without assigning values.
Create a variable of type int and assign it a value.
Print all variables to see their zero values or assigned values.
💡 Why This Matters
🌍 Real World
Understanding zero values helps you avoid bugs when variables are not initialized explicitly in Go programs.
💼 Career
Many Go jobs require knowledge of zero values to write clean, bug-free code and understand default behaviors.
Progress0 / 4 steps
1
Create variables without assigning values
Create variables called count of type int, price of type float64, available of type bool, and name of type string without assigning any values.
Go
Hint
Use the var keyword followed by the variable name and type, but do not assign any value.
2
Assign a value to one variable
Add a variable called count of type int and assign it the value 10. Keep the other variables price, available, and name declared without values.
Go
Hint
Assign the value 10 to count using = after the type.
3
Print all variables to see their values
Use fmt.Println to print the variables count, price, available, and name in the main function. Import the fmt package at the top.
Go
Hint
Use fmt.Println for each variable to print its value on a new line.
4
Run the program and observe the output
Run the program and observe the output. It should print the value 10 for count and zero values for price, available, and name. Write a print statement for each variable as shown.
Go
Hint
The output shows the assigned value for count and zero values for the other variables.
Practice
(1/5)
1. What is the zero value of an int variable in Go?
easy
A. "" (empty string)
B. nil
C. 0
D. false
Solution
Step 1: Understand zero values for basic types
In Go, each type has a default zero value when not initialized.
Step 2: Identify zero value for int type
The zero value for int is the number 0.
Final Answer:
0 -> Option C
Quick Check:
int zero value = 0 [OK]
Hint: Remember: int zero value is always 0 [OK]
Common Mistakes:
Confusing int zero value with nil
Thinking zero value is empty string
Mixing boolean zero value with int
2. Which of the following is the correct way to declare a variable with its zero value in Go?
easy
A. var x int = false
B. var x int = nil
C. var x int = ""
D. var x int
Solution
Step 1: Recall Go variable declaration syntax
Declaring a variable without initialization sets it to its zero value.
Step 2: Check each option for correctness
var x int declares x as int without initialization, so it gets zero value 0. Other options assign invalid values for int.
Final Answer:
var x int -> Option D
Quick Check:
Declare without init = zero value [OK]
Hint: Declare without assignment to get zero value [OK]
Common Mistakes:
Assigning nil to int
Assigning string to int
Assigning boolean to int
3. What will be the output of this Go program?
package main
import "fmt"
func main() {
var b bool
fmt.Println(b)
}
medium
A. false
B. Compilation error
C. nil
D. true
Solution
Step 1: Identify the variable type and initialization
Variable b is declared as bool without explicit initialization.
Step 2: Recall zero value for bool type
The zero value for bool is false, so b is false by default.
Final Answer:
false -> Option A
Quick Check:
bool zero value = false [OK]
Hint: Uninitialized bool defaults to false [OK]
Common Mistakes:
Expecting true as default
Thinking nil is valid bool
Assuming compilation error
4. Identify the error in this Go code snippet related to zero values:
package main
func main() {
var s string = nil
}
medium
A. Assigning nil to string causes a compile error
B. String zero value should be 0
C. Variable s should be declared as int
D. No error, code runs fine
Solution
Step 1: Understand zero value for string type
Zero value for string is an empty string "", not nil.
Step 2: Check assignment validity
Assigning nil to a string variable causes a compile-time error because nil is not a valid string value.
Final Answer:
Assigning nil to string causes a compile error -> Option A
Quick Check:
string zero value = "" not nil [OK]
Hint: Strings cannot be nil, use empty string "" [OK]
Common Mistakes:
Using nil for string
Confusing zero value with nil
Ignoring compile errors
5. You want to create a map in Go that stores string keys and integer values. You declare it as:
var m map[string]int
What is the zero value of m and what must you do before adding elements?
hard
A. m is zero; no initialization needed, just assign values
B. m is nil; you must initialize it with make before adding elements
C. m is an empty map; you can add elements immediately
D. m is a map with default zero values for keys and values
Solution
Step 1: Identify zero value of map type
Maps declared without initialization have zero value nil.
Step 2: Understand map usage requirements
You cannot add elements to a nil map; you must initialize it using make(map[string]int) before adding keys and values.
Final Answer:
m is nil; you must initialize it with make before adding elements -> Option B
Quick Check:
Maps zero value = nil; initialize with make [OK]
Hint: Maps start nil; use make() before adding keys [OK]
Common Mistakes:
Trying to add to nil map
Assuming map is empty but usable
Confusing zero value with empty map
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.