Bird
Raised Fist0
Goprogramming~10 mins

Increment and decrement in Go - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Increment and decrement
Start with variable x
↓
Apply increment x = x + 1
↓
Apply decrement x = x - 1
↓
Use or print x
↓
End
This flow shows starting with a variable, then increasing or decreasing its value by 1, and finally using the updated value.
Execution Sample
Go
package main
import "fmt"
func main() {
  x := 5
  x++
  x--
  fmt.Println(x)
}
This code starts with x=5, increments it by 1, then decrements by 1, and prints the final value.
Execution Table
StepVariable xOperationResultOutput
15Initialize xx = 5
26Increment x++x = 6
35Decrement x--x = 5
45Print xx = 55
💡 Program ends after printing the final value of x which is 5.
Variable Tracker
VariableStartAfter Step 2After Step 3Final
x5655
Key Moments - 2 Insights
Why does x return to 5 after incrementing and then decrementing?
Because increment (x++) adds 1 making x=6, then decrement (x--) subtracts 1 returning x back to 5, as shown in steps 2 and 3 of the execution table.
Does x++ change x immediately or later?
In Go, x++ immediately increases x by 1, as seen in step 2 where x changes from 5 to 6.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of x after step 2?
A6
B5
C7
D4
💡 Hint
Check the 'Variable x' column in row for step 2 in the execution table.
At which step does x return to its original value?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
Look at the variable_tracker and execution_table to see when x changes back to 5.
If we remove the decrement (x--), what would be the output at step 4?
A7
B5
C6
D4
💡 Hint
Consider the variable value after increment only, before printing at step 4.
Concept Snapshot
Increment and decrement in Go:
- Use x++ to add 1 to x
- Use x-- to subtract 1 from x
- Both change x immediately
- Commonly used to update counters
- Final value reflects all increments/decrements
Full Transcript
This example shows how to increase and decrease a variable by 1 in Go. We start with x equal to 5. Then we use x++ to add 1, making x equal to 6. Next, we use x-- to subtract 1, returning x to 5. Finally, we print x, which outputs 5. The execution table tracks each step and the variable's value. Increment and decrement operators change the variable immediately. This is useful for counting or looping.

Practice

(1/5)
1. What does the expression i++ do in Go?
easy
A. Decreases the value of i by 1
B. Increases the value of i by 1
C. Multiplies the value of i by 2
D. Divides the value of i by 2

Solution

  1. Step 1: Understand the operator meaning

    The ++ operator in Go adds 1 to the variable it is used on.
  2. Step 2: Apply to variable i

    Using i++ increases the value of i by exactly 1.
  3. Final Answer:

    Increases the value of i by 1 -> Option B
  4. Quick Check:

    i++ means add 1 [OK]
Hint: Remember ++ means add one, -- means subtract one [OK]
Common Mistakes:
  • Confusing ++ with --
  • Thinking ++ multiplies or divides
  • Using ++ as a function
2. Which of the following is the correct syntax to decrease a variable count by 1 in Go?
easy
A. count--
B. --count
C. count++
D. count =- 1

Solution

  1. Step 1: Identify decrement syntax in Go

    In Go, variable-- is the correct way to subtract 1 from a variable.
  2. Step 2: Check each option

    count-- uses count--, which is correct. --count is invalid prefix decrement in Go. count++ increases count. count =- 1 is invalid syntax.
  3. Final Answer:

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

    Use -- to subtract one [OK]
Hint: Use -- to subtract one, not =- [OK]
Common Mistakes:
  • Using --count instead of count--
  • Confusing ++ and --
  • Using count += 1 to decrement
3. What is the output of this Go code?
package main
import "fmt"
func main() {
  x := 5
  x++
  x--
  x++
  fmt.Println(x)
}
medium
A. Syntax error
B. 5
C. 7
D. 6

Solution

  1. Step 1: Trace the increments and decrements

    Start with x = 5. Then x++ makes x = 6. Then x-- makes x = 5 again. Then x++ makes x = 6.
  2. Step 2: Print the final value

    The final value of x is 6, so fmt.Println(x) prints 6.
  3. Final Answer:

    6 -> Option D
  4. Quick Check:

    5 +1 -1 +1 = 6 [OK]
Hint: Add and subtract step by step to find final value [OK]
Common Mistakes:
  • Ignoring one increment or decrement
  • Thinking increments happen before assignment
  • Confusing output with syntax error
4. Find the error in this Go code snippet:
package main
func main() {
  var n int = 10
  n++
  n--
  n = n++
}
medium
A. Assigning n = n++ causes a compile error
B. n-- cannot be used on integers
C. Using n++ as a statement is invalid
D. Variable n must be declared without type

Solution

  1. Step 1: Understand usage of n++ in Go

    In Go, n++ and n-- are statements that increment or decrement n by 1. They cannot be used as expressions.
  2. Step 2: Analyze the assignment n = n++

    Assigning n = n++ tries to use n++ as a value, which is invalid in Go and causes a compile error.
  3. Final Answer:

    Assigning n = n++ causes a compile error -> Option A
  4. Quick Check:

    n++ is a statement, not an expression [OK]
Hint: Remember n++ can't be assigned; it's a statement only [OK]
Common Mistakes:
  • Trying to assign n = n++
  • Thinking n-- is invalid on int
  • Ignoring Go's statement-only rule for ++/--
5. You want to count down from 3 to 1 using a for loop in Go. Which code correctly uses decrement to do this?
for i := 3; i > 0; ??? {
  fmt.Println(i)
}
hard
A. i += 1
B. i++
C. i--
D. --i

Solution

  1. Step 1: Understand the loop goal

    The loop should count down from 3 to 1, so i must decrease each time.
  2. Step 2: Choose the correct decrement expression

    Using i-- decreases i by 1 each loop, matching the goal. Options A, B, and C are wrong: A and B increase i, C is invalid prefix --i in Go.
  3. Final Answer:

    i-- -> Option C
  4. Quick Check:

    Use i-- to count down in loops [OK]
Hint: Use i-- to count down, i++ to count up [OK]
Common Mistakes:
  • Using i++ when counting down
  • Using i += 1 instead of i--
  • Confusing decrement syntax in for loops
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