Bird
Raised Fist0
Goprogramming~10 mins

Nested conditional statements in Go - Interactive Code Practice

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

Complete the code to check if a number is positive.

Go
package main

import "fmt"

func main() {
    num := 5
    if num [1] 0 {
        fmt.Println("Positive number")
    }
}
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 for negative numbers.
Using '==' checks only if the number is zero.
2fill in blank
medium

Complete the code to check if a number is positive and even.

Go
package main

import "fmt"

func main() {
    num := 4
    if num > 0 {
        if num [1] 2 == 0 {
            fmt.Println("Positive even number")
        }
    }
}
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 for evenness.
Using '*' or '+' are arithmetic operations, not for checking divisibility.
3fill in blank
hard

Fix the error in the nested if statement to check if a number is negative and odd.

Go
package main

import "fmt"

func main() {
    num := -3
    if num [1] 0 {
        if num%2 != 0 {
            fmt.Println("Negative odd number")
        }
    }
}
Drag options to blanks, or click blank then click option'
A>
B<
C==
D>=
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '>' checks for positive numbers instead of negative.
Using '==' checks if the number is zero.
4fill in blank
hard

Fill both blanks to check if a number is zero or positive and even.

Go
package main

import "fmt"

func main() {
    num := 0
    if num [1] 0 {
        if num [2] 2 == 0 {
            fmt.Println("Zero or positive even number")
        }
    }
}
Drag options to blanks, or click blank then click option'
A>=
B<
C%
D==
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '>' excludes zero from the check.
Using '/' instead of '%' for checking evenness.
5fill in blank
hard

Fill all three blanks to check if a number is negative, odd, and less than -10.

Go
package main

import "fmt"

func main() {
    num := -15
    if num [1] 0 {
        if num%2 [2] 0 {
            if num [3] -10 {
                fmt.Println("Negative odd number less than -10")
            }
        }
    }
}
Drag options to blanks, or click blank then click option'
A<
B!=
C<=
D>
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '==' instead of '!=' for odd check.
Using '>' instead of '<=' for the last condition.

Practice

(1/5)
1.

What does a nested conditional statement in Go allow you to do?

Example: if x > 0 { if x < 10 { ... } }

easy
A. Declare multiple variables in one line
B. Run multiple loops at the same time
C. Check one condition inside another condition
D. Create a function inside another function

Solution

  1. Step 1: Understand the structure of nested conditionals

    A nested conditional means putting one if statement inside another to check multiple conditions step by step.
  2. Step 2: Identify the purpose of the example code

    The example checks if x is greater than 0, then inside that block checks if x is less than 10.
  3. Final Answer:

    Check one condition inside another condition -> Option C
  4. Quick Check:

    Nested conditionals = conditions inside conditions [OK]
Hint: Nested means inside another condition [OK]
Common Mistakes:
  • Confusing nested conditionals with loops
  • Thinking nested means multiple variables
  • Mixing nested conditionals with function declarations
2.

Which of the following is the correct syntax for a nested if statement in Go?

if x > 0 {
    if x < 10 {
        fmt.Println("x is between 1 and 9")
    }
}
easy
A. if x > 0 { if x < 10 { fmt.Println("x is between 1 and 9") } }
B. if x > 0 if x < 10 fmt.Println("x is between 1 and 9")
C. if (x > 0) then if (x < 10) { fmt.Println("x is between 1 and 9") }
D. if x > 0 { if x < 10 { fmt.Println("x is between 1 and 9") } }

Solution

  1. Step 1: Check Go syntax for nested if

    Go requires braces {} around blocks and proper indentation for readability.
  2. Step 2: Compare options with correct syntax

    if x > 0 { if x < 10 { fmt.Println("x is between 1 and 9") } } uses braces and indentation correctly, matching Go style.
  3. Final Answer:

    if x > 0 { if x < 10 { fmt.Println("x is between 1 and 9") } } -> Option A
  4. Quick Check:

    Correct braces and indentation = if x > 0 { if x < 10 { fmt.Println("x is between 1 and 9") } } [OK]
Hint: Use braces {} and indent nested if blocks [OK]
Common Mistakes:
  • Omitting braces {} around if blocks
  • Using incorrect keywords like 'then'
  • Not indenting nested blocks properly
3.

What will be the output of this Go code?

package main
import "fmt"
func main() {
    x := 7
    if x > 5 {
        if x < 10 {
            fmt.Println("A")
        } else {
            fmt.Println("B")
        }
    } else {
        fmt.Println("C")
    }
}
medium
A. B
B. No output
C. C
D. A

Solution

  1. Step 1: Evaluate the first condition (x > 5)

    x is 7, which is greater than 5, so the first if block runs.
  2. Step 2: Evaluate the nested condition (x < 10)

    7 is less than 10, so it prints "A" inside the nested if.
  3. Final Answer:

    A -> Option D
  4. Quick Check:

    7 > 5 and 7 < 10 = "A" [OK]
Hint: Check conditions stepwise from outer to inner [OK]
Common Mistakes:
  • Ignoring nested else block
  • Confusing output with 'B' or 'C'
  • Assuming no output if conditions fail
4.

Find the error in this Go code snippet:

package main
import "fmt"
func main() {
    x := 3
    if x > 0
        if x < 5 {
            fmt.Println("x is between 1 and 4")
        }
}
medium
A. Missing import statement for fmt
B. Missing braces {} around the first if block
C. Incorrect variable declaration for x
D. Using > and < instead of > and <

Solution

  1. Step 1: Check syntax of the first if statement

    The first if statement lacks braces {} and a closing brace for the block.
  2. Step 2: Understand Go requires braces for if blocks

    In Go, if statements must have braces {} even if the block is one line or nested.
  3. Final Answer:

    Missing braces {} around the first if block -> Option B
  4. Quick Check:

    Go if statements need braces {} [OK]
Hint: Always use braces {} for if blocks in Go [OK]
Common Mistakes:
  • Forgetting braces {} on if statements
  • Thinking > and < must be escaped
  • Assuming import fmt is missing
5.

Write a nested conditional in Go that prints "Small positive" if a number n is greater than 0 and less than 10, prints "Large positive" if it is 10 or more, and prints "Non-positive" otherwise. What is the correct code?

hard
A. if n > 0 { if n < 10 { fmt.Println("Small positive") } else { fmt.Println("Large positive") } } else { fmt.Println("Non-positive") }
B. if n > 0 && n < 10 { fmt.Println("Small positive") } else if n > 10 { fmt.Println("Large positive") } else { fmt.Println("Non-positive") }
C. if n <= 10 { if n > 0 { fmt.Println("Small positive") } else { fmt.Println("Non-positive") } } else { fmt.Println("Large positive") }
D. if n > 0 { if n > 10 { fmt.Println("Large positive") } else { fmt.Println("Small positive") } } else { fmt.Println("Non-positive") }

Solution

  1. Step 1: Understand the conditions to check

    We check if n is greater than 0 first, then inside that check if n is less than 10 for "Small positive" or else "Large positive".
  2. Step 2: Match the nested conditional structure

    if n > 0 { if n < 10 { fmt.Println("Small positive") } else { fmt.Println("Large positive") } } else { fmt.Println("Non-positive") } correctly nests the second if inside the first and prints the right messages for each case.
  3. Final Answer:

    if n > 0 { if n < 10 { fmt.Println("Small positive") } else { fmt.Println("Large positive") } } else { fmt.Println("Non-positive") } -> Option A
  4. Quick Check:

    Nested if for ranges = if n > 0 { if n < 10 { fmt.Println("Small positive") } else { fmt.Println("Large positive") } } else { fmt.Println("Non-positive") } [OK]
Hint: Check outer condition first, then inner for ranges [OK]
Common Mistakes:
  • Swapping conditions order
  • Using else if instead of nested if
  • Mixing up the printed messages
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