Bird
Raised Fist0
Goprogramming~10 mins

Why conditional logic is needed in Go - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print "Adult" if age is 18 or more.

Go
if age [1] 18 {
    fmt.Println("Adult")
}
Drag options to blanks, or click blank then click option'
A!=
B<
C==
D>=
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '<' instead of '>=' will check the wrong condition.
Using '==' only checks if age is exactly 18, not more.
2fill in blank
medium

Complete the code to print "Even" if the number is divisible by 2.

Go
if num [1] 2 == 0 {
    fmt.Println("Even")
}
Drag options to blanks, or click blank then click option'
A*
B/
C%
D-
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '/' divides the number but does not check remainder.
Using '*' or '-' does not help check evenness.
3fill in blank
hard

Fix the error in the condition to check if score is less than 50.

Go
if score [1] 50 {
    fmt.Println("Fail")
}
Drag options to blanks, or click blank then click option'
A<
B==
C>
D>=
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '>' checks if score is greater than 50, which is opposite.
Using '==' checks equality, not less than.
4fill in blank
hard

Fill both blanks to print "Teenager" if age is between 13 and 19 inclusive.

Go
if age [1] 13 && age [2] 19 {
    fmt.Println("Teenager")
}
Drag options to blanks, or click blank then click option'
A>=
B<
C<=
D>
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '<' instead of '<=' excludes 19.
Using '>' instead of '>=' excludes 13.
5fill in blank
hard

Fill all three blanks to create a map of words to their lengths for words longer than 3 characters.

Go
lengths := make(map[string]int)
for _, [3] := range words {
    if len([3]) > 3 {
        lengths[[1]] = [2]
    }
}
Drag options to blanks, or click blank then click option'
Aword
Blen(word)
Dw
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using different variable names inconsistently.
Using the wrong expression for the length.

Practice

(1/5)
1. Why do we use conditional logic like if statements in Go programs?
easy
A. To repeat code multiple times automatically
B. To make decisions and run different code based on conditions
C. To store data in variables
D. To define new functions

Solution

  1. Step 1: Understand the purpose of conditional logic

    Conditional logic allows a program to choose between different actions depending on whether a condition is true or false.
  2. Step 2: Compare with other programming concepts

    Loops repeat code, variables store data, and functions define reusable code blocks, but only conditionals make decisions.
  3. Final Answer:

    To make decisions and run different code based on conditions -> Option B
  4. Quick Check:

    Conditional logic = decision making [OK]
Hint: Remember: if means 'choose this if true' [OK]
Common Mistakes:
  • Confusing conditionals with loops
  • Thinking variables make decisions
  • Mixing functions with conditionals
2. Which of the following is the correct syntax for an if statement in Go?
easy
A. if x > 10: fmt.Println("Big")
B. if (x > 10) then { fmt.Println("Big") }
C. if x > 10 { fmt.Println("Big") }
D. if x > 10 print("Big")

Solution

  1. Step 1: Recall Go's if statement syntax

    In Go, conditions are written without parentheses, and the code block is inside curly braces.
  2. Step 2: Check each option

    if x > 10 { fmt.Println("Big") } matches Go syntax exactly. Options A, B, and D use syntax from other languages or are incorrect.
  3. Final Answer:

    if x > 10 { fmt.Println("Big") } -> Option C
  4. Quick Check:

    Go if syntax uses braces, no parentheses [OK]
Hint: Go if uses braces {} without parentheses () [OK]
Common Mistakes:
  • Adding parentheses around conditions
  • Using 'then' keyword
  • Omitting braces for code blocks
3. What will be the output of this Go code?
package main
import "fmt"
func main() {
  x := 5
  if x > 3 {
    fmt.Println("Greater")
  } else {
    fmt.Println("Smaller")
  }
}
medium
A. Greater
B. Smaller
C. 5
D. No output

Solution

  1. Step 1: Evaluate the condition x > 3

    The variable x is 5, which is greater than 3, so the condition is true.
  2. Step 2: Determine which branch runs

    Since the condition is true, the code inside the if block runs, printing "Greater".
  3. Final Answer:

    Greater -> Option A
  4. Quick Check:

    5 > 3 is true, so prints "Greater" [OK]
Hint: Check if condition is true or false to pick output [OK]
Common Mistakes:
  • Choosing else output when condition is true
  • Confusing printed value with variable value
  • Ignoring else block
4. Find the error in this Go code snippet:
package main
import "fmt"
func main() {
  x := 10
  if x = 5 {
    fmt.Println("x is 5")
  }
}
medium
A. The '=' should be '==' in the if condition
B. Missing curly braces around if block
C. fmt.Println is used incorrectly
D. Variable x is not declared

Solution

  1. Step 1: Identify the condition in the if statement

    The code uses 'x = 5' which is an assignment, not a comparison.
  2. Step 2: Correct the condition operator

    To compare values, Go requires '==' instead of '=' in conditions.
  3. Final Answer:

    The '=' should be '==' in the if condition -> Option A
  4. Quick Check:

    Use '==' to compare, '=' assigns [OK]
Hint: Use '==' for comparison, '=' for assignment [OK]
Common Mistakes:
  • Using '=' instead of '==' in conditions
  • Forgetting braces after if
  • Misusing print function
5. You want to write a Go program that prints "Adult" if age is 18 or more, and "Minor" otherwise. Which code correctly uses conditional logic to do this?
hard
A. if age < 18 { fmt.Println("Adult") } else { fmt.Println("Minor") }
B. if age > 18 { fmt.Println("Adult") } else { fmt.Println("Minor") }
C. if age = 18 { fmt.Println("Adult") } else { fmt.Println("Minor") }
D. if age >= 18 { fmt.Println("Adult") } else { fmt.Println("Minor") }

Solution

  1. Step 1: Understand the age condition

    We want to print "Adult" if age is 18 or more, so the condition should be age >= 18.
  2. Step 2: Check each option's condition

    if age >= 18 { fmt.Println("Adult") } else { fmt.Println("Minor") } uses age >= 18 correctly. if age > 18 { fmt.Println("Adult") } else { fmt.Println("Minor") } excludes age 18. if age = 18 { fmt.Println("Adult") } else { fmt.Println("Minor") } uses '=' which is assignment, not comparison. if age < 18 { fmt.Println("Adult") } else { fmt.Println("Minor") } reverses logic.
  3. Final Answer:

    if age >= 18 { fmt.Println("Adult") } else { fmt.Println("Minor") } -> Option D
  4. Quick Check:

    Use '>=' to include 18 as adult [OK]
Hint: Use '>=' to include boundary values in conditions [OK]
Common Mistakes:
  • Using '=' instead of '=='
  • Using '>' instead of '>='
  • Reversing if and else blocks
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