Switch can be used without a variable to check conditions directly.
Go
switch {
case x < 0:
fmt.Println("Negative")
case x == 0:
fmt.Println("Zero")
case x > 0:
fmt.Println("Positive")
}
Sample Program
This program uses a switch expression without a variable to check score ranges and print the grade.
Go
package main
import"fmt"
func main() {
score := 85switch {
case score >= 90:
fmt.Println("Grade: A")
case score >= 80:
fmt.Println("Grade: B")
case score >= 70:
fmt.Println("Grade: C")
default:
fmt.Println("Grade: F")
}
}
OutputSuccess
Important Notes
Switch cases stop checking after the first match, so no need for break statements.
You can use expressions in cases, not just fixed values.
The default case runs if no other case matches.
Summary
Switch expressions let you pick one action from many choices clearly.
They can check values or conditions directly.
Switch stops after the first matching case, making code simple and clean.
Practice
(1/5)
1. What does a switch statement do in Go?
easy
A. It runs all cases one after another.
B. It chooses one case to run based on a value or condition.
C. It only works with numbers, not strings.
D. It repeats the same case multiple times automatically.
Solution
Step 1: Understand switch purpose
A switch statement selects one matching case based on a value or condition.
Step 2: Confirm behavior
It stops after the first matching case, so only one case runs.
Final Answer:
It chooses one case to run based on a value or condition. -> Option B
Quick Check:
Switch picks one matching case [OK]
Hint: Switch picks only the first matching case [OK]
Common Mistakes:
Thinking switch runs all cases
Believing switch only works with numbers
Assuming switch repeats cases automatically
2. Which of the following is the correct syntax for a basic switch statement in Go?
easy
A. switch (value) { case 1: doSomething() default: doDefault() }
B. switch value do { case 1: doSomething() default: doDefault() }
C. switch value then { case 1: doSomething() default: doDefault() }
D. switch value { case 1: doSomething() default: doDefault() }
Solution
Step 1: Recall Go switch syntax
Go uses switch value { case ... } without parentheses or extra keywords.
Step 2: Check options
switch value { case 1: doSomething() default: doDefault() } matches correct syntax; others add invalid keywords or parentheses.
Final Answer:
switch value { case 1: doSomething() default: doDefault() } -> Option D
Quick Check:
Go switch uses braces, no parentheses [OK]
Hint: No parentheses around switch value in Go [OK]
Common Mistakes:
Adding parentheses around switch value
Using 'then' or 'do' keywords incorrectly
Misplacing braces or colons
3. What is the output of this Go code?
package main
import "fmt"
func main() {
x := 3
switch x {
case 1:
fmt.Println("One")
case 2, 3:
fmt.Println("Two or Three")
default:
fmt.Println("Other")
}
}
medium
A. One
B. Other
C. Two or Three
D. No output
Solution
Step 1: Identify switch value and cases
Variable x is 3. The switch checks cases 1, then 2 or 3, then default.
Step 2: Match case
Case 2, 3 matches because x is 3, so it prints "Two or Three".
Final Answer:
Two or Three -> Option C
Quick Check:
3 matches case 2,3 [OK]
Hint: Check all case values including multiple ones [OK]
Common Mistakes:
Ignoring multiple values in one case
Choosing default instead of matching case
Assuming case 3 is separate from case 2
4. Identify the error in this Go switch code:
package main
import "fmt"
func main() {
x := 5
switch {
case x == 1:
fmt.Println("One")
case x == 5:
fmt.Println("Five")
case x == 10:
fmt.Println("Ten")
}
}
medium
A. No error; code runs and prints "Five"
B. Switch expression is missing a value but cases use conditions
C. Missing default case causes error
D. Case statements must be constants, not conditions
Solution
Step 1: Understand switch without expression
Switch without a value allows cases to be conditions (boolean expressions).
Step 2: Check cases and output
x is 5, so case x == 5 is true, printing "Five". No error occurs.
Final Answer:
No error; code runs and prints "Five" -> Option A
Quick Check:
Switch without value uses conditions [OK]
Hint: Switch without value uses boolean cases [OK]
Common Mistakes:
Thinking default is mandatory
Assuming switch must have a value
Believing case conditions are invalid
5. Given this Go code, what will be printed?
package main
import "fmt"
func main() {
score := 75
switch {
case score >= 90:
fmt.Println("Grade A")
case score >= 80:
fmt.Println("Grade B")
case score >= 70:
fmt.Println("Grade C")
default:
fmt.Println("Fail")
}
}
hard
A. Grade C
B. Grade B
C. Fail
D. Grade A
Solution
Step 1: Analyze switch without expression
Switch uses conditions in cases, evaluated top to bottom.
Step 2: Evaluate conditions for score = 75
score >= 90 is false, score >= 80 is false, score >= 70 is true, so prints "Grade C" and stops.
Final Answer:
Grade C -> Option A
Quick Check:
First true case runs, here score >= 70 [OK]
Hint: Switch stops at first true condition [OK]
Common Mistakes:
Ignoring order of cases
Assuming all true cases print
Confusing >= with >
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.