Bird
Raised Fist0
Goprogramming~15 mins

Nested conditional statements in Go - Mini Project: Build & Apply

Choose your learning style10 modes available
Nested Conditional Statements
📖 Scenario: You are creating a simple program to check a person's age and membership status to decide their ticket price for a movie theater.
🎯 Goal: Build a Go program that uses nested conditional statements to determine the ticket price based on age and membership.
📋 What You'll Learn
Create a variable age with an integer value
Create a variable isMember with a boolean value
Use nested if statements to check age and isMember
Print the correct ticket price based on the conditions
💡 Why This Matters
🌍 Real World
Nested conditions help in real life when decisions depend on multiple factors, like pricing tickets based on age and membership.
💼 Career
Understanding nested conditionals is important for writing clear decision-making code in many programming jobs.
Progress0 / 4 steps
1
Create variables for age and membership
Create a variable called age and set it to 20. Create a variable called isMember and set it to true.
Go
Hint

Use var to declare variables with their types and assign the exact values.

2
Add a variable for base ticket price
Create a variable called ticketPrice and set it to 15.
Go
Hint

Use var ticketPrice int = 15 to set the starting price.

3
Use nested if statements to adjust ticket price
Use nested if statements to check if age is less than 18. Inside that, check if isMember is true. If both are true, set ticketPrice to 5. Otherwise, if age is 18 or more and isMember is true, set ticketPrice to 10.
Go
Hint

Use nested if inside another if and an else block to check conditions step by step.

4
Print the final ticket price
Write a fmt.Println statement to print the text "Ticket price: " followed by the value of ticketPrice.
Go
Hint

Use fmt.Println("Ticket price:", ticketPrice) to show the final price.

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