Bird
Raised Fist0
Goprogramming~5 mins

Assignment operators in Go

Choose your learning style10 modes available
Introduction
Assignment operators help you store or update values in variables easily.
When you want to save a value in a variable.
When you want to add or subtract a number from a variable's current value.
When you want to multiply or divide a variable by a number and save the result.
When you want to quickly update a variable without writing the variable name twice.
Syntax
Go
variable = value
variable += value
variable -= value
variable *= value
variable /= value
variable %= value
The '=' operator assigns a new value to a variable.
Operators like '+=', '-=', '*=', '/=', '%=' update the variable by applying the operation with the right value.
Examples
Adds 5 to x and saves the result back in x.
Go
x := 10
x += 5  // x is now 15
Subtracts 4 from y and saves the result back in y.
Go
y := 20
y -= 4  // y is now 16
Multiplies z by 7 and saves the result back in z.
Go
z := 3
z *= 7  // z is now 21
Divides a by 3 and saves the result back in a.
Go
a := 15
a /= 3  // a is now 5
Sample Program
This program shows how to use different assignment operators to update the value of the variable 'score'.
Go
package main
import "fmt"

func main() {
    var score int = 10
    fmt.Println("Initial score:", score)

    score += 5
    fmt.Println("After adding 5:", score)

    score -= 3
    fmt.Println("After subtracting 3:", score)

    score *= 2
    fmt.Println("After multiplying by 2:", score)

    score /= 4
    fmt.Println("After dividing by 4:", score)

    score %= 3
    fmt.Println("After modulo 3:", score)
}
OutputSuccess
Important Notes
Assignment operators make your code shorter and easier to read.
Be careful with division and modulo operators to avoid dividing by zero.
These operators work only with variables, not with constants or literals.
Summary
Assignment operators store or update values in variables.
They combine an operation and assignment in one step.
Common operators include '=', '+=', '-=', '*=', '/=', and '%='.

Practice

(1/5)
1. What does the += operator do in Go?
easy
A. Subtracts the right value from the left variable and stores the result
B. Assigns the right value to the left variable without any operation
C. Adds the right value to the left variable and stores the result in the left variable
D. Multiplies the left variable by the right value and stores the result

Solution

  1. Step 1: Understand the operator meaning

    The += operator adds the right-hand side value to the left-hand side variable.
  2. Step 2: Understand the assignment effect

    It then stores the sum back into the left-hand side variable, updating its value.
  3. Final Answer:

    Adds and assigns the sum to the left variable -> Option C
  4. Quick Check:

    += means add and assign [OK]
Hint: Think: add right value to left and save [OK]
Common Mistakes:
  • Confusing += with simple assignment =
  • Thinking it subtracts instead of adds
  • Mixing it with multiplication or division
2. Which of the following is the correct syntax to multiply variable x by 5 and store the result back in x?
easy
A. x =* 5
B. x = x *=
C. x = *5
D. x *= 5

Solution

  1. Step 1: Identify correct compound assignment syntax

    In Go, the multiplication assignment operator is *=, used as x *= 5.
  2. Step 2: Check each option for syntax correctness

    x *= 5 matches the correct syntax; others are invalid or cause errors.
  3. Final Answer:

    x *= 5 -> Option D
  4. Quick Check:

    Use *= for multiply and assign [OK]
Hint: Remember operator before = for compound assignment [OK]
Common Mistakes:
  • Placing = before * (like =*)
  • Missing space causing syntax errors
  • Using incomplete expressions like x = *5
3. What is the output of the following Go code?
package main
import "fmt"
func main() {
  a := 10
  a += 5
  a -= 3
  fmt.Println(a)
}
medium
A. 12
B. 15
C. 8
D. 10

Solution

  1. Step 1: Calculate after addition

    Starting with a = 10, after a += 5, a becomes 15.
  2. Step 2: Calculate after subtraction

    Then a -= 3 subtracts 3, so a becomes 12.
  3. Final Answer:

    12 -> Option A
  4. Quick Check:

    10 + 5 - 3 = 12 [OK]
Hint: Apply operations step-by-step to variable [OK]
Common Mistakes:
  • Adding and subtracting in wrong order
  • Confusing += and -= effects
  • Ignoring initial value of variable
4. Identify the error in this Go code snippet:
package main
import "fmt"
func main() {
  var x int = 10
  x + = 5
  fmt.Println(x)
}
medium
A. The operator + = has a space and is invalid
B. Variable x is not declared
C. Missing semicolon after var declaration
D. fmt package is not imported

Solution

  1. Step 1: Check operator syntax

    The operator += must not have spaces; + = is invalid syntax.
  2. Step 2: Verify other code parts

    Variable x is declared correctly, semicolons are optional in Go, and the fmt package is imported.
  3. Final Answer:

    Operator + = has a space and is invalid -> Option A
  4. Quick Check:

    No spaces in compound operators [OK]
Hint: Compound operators have no spaces (e.g., +=) [OK]
Common Mistakes:
  • Adding spaces inside operators
  • Assuming semicolons are always required
  • Confusing the compound operator with separate + and = operations
5. Given the code below, what will be the final value of total?
package main
import "fmt"
func main() {
  total := 20
  total /= 4
  total *= 3
  total %= 5
  fmt.Println(total)
}
hard
A. 3
B. 0
C. 4
D. 5

Solution

  1. Step 1: Perform division assignment

    total = 20, after total /= 4, total becomes 5 (integer division).
  2. Step 2: Perform multiplication assignment

    Then total *= 3 makes total 15.
  3. Step 3: Perform modulus assignment

    total %= 5 calculates remainder of 15 divided by 5, which is 0.
  4. Step 4: Re-check calculations

    Integer division 20/4 = 5, 5*3=15, 15%5=0.
  5. Final Answer:

    0 -> Option B
  6. Quick Check:

    20/4=5, 5*3=15, 15%5=0 [OK]
Hint: Apply each operator stepwise, watch integer division [OK]
Common Mistakes:
  • Forgetting integer division truncates decimals
  • Mixing up modulus with division
  • Calculating modulus before multiplication
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