Bird
Raised Fist0
Goprogramming~10 mins

Logical operators 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 both conditions are true.

Go
if a > 0 [1] b < 10 {
    fmt.Println("Both conditions are true")
}
Drag options to blanks, or click blank then click option'
A&&
B!
C||
D==
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using || instead of &&
Using ! which negates a condition
2fill in blank
medium

Complete the code to check if at least one condition is true.

Go
if x == 5 [1] y == 10 {
    fmt.Println("At least one condition is true")
}
Drag options to blanks, or click blank then click option'
A||
B&&
C!=
D==
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using && which requires both conditions
Using == which compares equality
3fill in blank
hard

Fix the error in the condition to negate the check.

Go
if [1] {
    fmt.Println("Flag is false")
}
Drag options to blanks, or click blank then click option'
Aflag
Bflag = false
Cflag == true
D!flag
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using assignment = instead of comparison
Not negating the flag
4fill in blank
hard

Fill both blanks to check if number is between 10 and 20 (inclusive).

Go
if num [1]= 10 [2] num <= 20 {
    fmt.Println("Number is between 10 and 20")
}
Drag options to blanks, or click blank then click option'
A>
B<
C&&
D||
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using < instead of >
Using || instead of &&
5fill in blank
hard

Fill all three blanks to check if value is outside the range 1 to 5.

Go
if value [1] 1 [2] value [3] 5 {
    fmt.Println("Value is outside 1 to 5")
}
Drag options to blanks, or click blank then click option'
A<
B>
C||
D&&
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using && which means both conditions must be true
Swapping < and > signs

Practice

(1/5)
1. Which logical operator in Go means AND and returns true only if both conditions are true?
easy
A. !
B. ||
C. &
D. &&

Solution

  1. Step 1: Understand the meaning of logical AND

    The AND operator returns true only when both conditions it connects are true.
  2. Step 2: Identify Go's AND operator

    In Go, the AND operator is written as &&, which matches the description.
  3. Final Answer:

    && -> Option D
  4. Quick Check:

    AND = && [OK]
Hint: AND is &&, OR is ||, NOT is ! [OK]
Common Mistakes:
  • Confusing & (bitwise AND) with && (logical AND)
  • Mixing OR (||) with AND (&&)
  • Using ! as AND operator
2. Which of the following is the correct syntax for the logical NOT operator in Go?
easy
A. not x
B. !x
C. ~x
D. x!

Solution

  1. Step 1: Recall Go syntax for logical NOT

    In Go, the logical NOT operator is a single exclamation mark placed before the variable or expression.
  2. Step 2: Match options with correct syntax

    !x uses !x, which is the correct syntax for NOT in Go.
  3. Final Answer:

    !x -> Option B
  4. Quick Check:

    NOT = ! [OK]
Hint: NOT always uses ! before the condition [OK]
Common Mistakes:
  • Writing 'not x' like in some other languages
  • Using ~ which is bitwise NOT, not logical NOT
  • Placing ! after the variable
3. What is the output of this Go code snippet?
package main
import "fmt"
func main() {
    a := true
    b := false
    fmt.Println(a && !b || b)
}
medium
A. true
B. false
C. Syntax error
D. Compilation error

Solution

  1. Step 1: Evaluate !b

    b is false, so !b is true.
  2. Step 2: Evaluate a && !b

    a is true and !b is true, so a && !b is true.
  3. Step 3: Evaluate (a && !b) || b

    true || false is true.
  4. Final Answer:

    true -> Option A
  5. Quick Check:

    True AND NOT False OR False = True [OK]
Hint: Evaluate NOT first, then AND, then OR [OK]
Common Mistakes:
  • Evaluating OR before AND
  • Forgetting to negate b
  • Assuming false || true is false
4. Identify the error in this Go code snippet:
package main
import "fmt"
func main() {
    x := true
    y := false
    if x & y {
        fmt.Println("Both true")
    }
}
medium
A. Using & instead of && in if condition
B. Missing parentheses around condition
C. fmt.Println syntax error
D. Variable declaration error

Solution

  1. Step 1: Check logical operators in if condition

    The code uses & which is bitwise AND, not logical AND.
  2. Step 2: Identify correct operator for boolean logic

    Logical AND in Go is &&, so & causes a type error here.
  3. Final Answer:

    Using & instead of && in if condition -> Option A
  4. Quick Check:

    Logical AND needs &&, not & [OK]
Hint: Use && for logical AND, & is bitwise [OK]
Common Mistakes:
  • Using & instead of && for booleans
  • Assuming & works like && in conditions
  • Ignoring compiler error messages
5. Given a variable score (int), which condition correctly checks if score is between 50 and 100 inclusive using logical operators in Go?
hard
A. score >= 50 || score <= 100
B. score > 50 && score < 100
C. score >= 50 && score <= 100
D. score > 50 || score < 100

Solution

  1. Step 1: Understand the range condition

    We want score to be at least 50 and at most 100, so both conditions must be true.
  2. Step 2: Choose correct logical operator

    AND (&&) combines conditions that both must be true; OR (||) would allow values outside the range.
  3. Step 3: Check inclusivity

    Using >= and <= includes 50 and 100 themselves.
  4. Final Answer:

    score >= 50 && score <= 100 -> Option C
  5. Quick Check:

    Between means AND, not OR [OK]
Hint: Use && to combine conditions that both must be true [OK]
Common Mistakes:
  • Using || which allows values outside range
  • Using > and < excludes boundary values
  • Confusing AND and OR logic
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