Bird
Raised Fist0
Goprogramming~5 mins

Relational operators in Go

Choose your learning style10 modes available
Introduction

Relational operators help us compare two values to see how they relate to each other, like if one is bigger or equal to the other.

Checking if a number is greater than another to decide what to do next.
Comparing user input to a stored password length for validation.
Finding out if two values are equal to trigger a special action.
Determining if a score is less than a passing mark to show a message.
Seeing if a value is not equal to something to handle exceptions.
Syntax
Go
value1 <operator> value2

// Operators:
// ==  (equal to)
// !=  (not equal to)
// >   (greater than)
// <   (less than)
// >=  (greater than or equal to)
// <=  (less than or equal to)

Relational operators always compare two values and return a boolean: true or false.

They are often used inside if statements or loops to control the program flow.

Examples
Checks if a is equal to b.
Go
a == b
Checks if score is greater than or equal to 50.
Go
score >= 50
Checks if x is not equal to y.
Go
x != y
Checks if age is less than 18.
Go
age < 18
Sample Program

This program compares two numbers using all relational operators and prints the results.

Go
package main

import "fmt"

func main() {
    a := 10
    b := 20

    fmt.Println("a == b:", a == b)   // false
    fmt.Println("a != b:", a != b)   // true
    fmt.Println("a > b:", a > b)     // false
    fmt.Println("a < b:", a < b)     // true
    fmt.Println("a >= 10:", a >= 10) // true
    fmt.Println("b <= 20:", b <= 20) // true
}
OutputSuccess
Important Notes

Remember that relational operators return true or false, which you can use in conditions.

Don't confuse assignment (=) with equality (==) in Go.

Relational operators work with numbers, strings, and other comparable types.

Summary

Relational operators compare two values and return true or false.

They are useful to control decisions in your program.

Common operators include ==, !=, >, <, >=, and <=.

Practice

(1/5)
1. Which of the following relational operators in Go checks if two values are equal?
easy
A. >
B. !=
C. ==
D. <=

Solution

  1. Step 1: Understand the meaning of relational operators

    Relational operators compare two values and return true or false based on the comparison.
  2. Step 2: Identify the operator for equality

    The operator '==' checks if two values are equal in Go.
  3. Final Answer:

    == -> Option C
  4. Quick Check:

    Equality operator = == [OK]
Hint: Remember: double equals (==) means equal in Go [OK]
Common Mistakes:
  • Confusing '=' (assignment) with '==' (equality)
  • Using '!=' for equality check
  • Thinking '>' means equal
2. Which of the following is the correct syntax to check if variable a is not equal to variable b in Go?
easy
A. a !== b
B. a <> b
C. a =! b
D. a != b

Solution

  1. Step 1: Recall Go syntax for not equal operator

    In Go, the not equal operator is written as '!='.
  2. Step 2: Match the syntax with the options

    a != b uses 'a != b', which is correct syntax for not equal in Go.
  3. Final Answer:

    a != b -> Option D
  4. Quick Check:

    Not equal operator = != [OK]
Hint: Not equal in Go is always '!=' not '<>' or '!==' [OK]
Common Mistakes:
  • Using '<>' which is not valid in Go
  • Swapping '=' and '!' to '=!'
  • Using JavaScript style '!==' which is invalid in Go
3. What will be the output of the following Go code?
package main
import "fmt"
func main() {
    x := 10
    y := 20
    fmt.Println(x > y)
}
medium
A. false
B. 10
C. true
D. Compilation error

Solution

  1. Step 1: Understand the comparison x > y

    Variable x is 10 and y is 20. The expression checks if 10 is greater than 20.
  2. Step 2: Evaluate the expression

    Since 10 is not greater than 20, the expression evaluates to false.
  3. Final Answer:

    false -> Option A
  4. Quick Check:

    10 > 20 = false [OK]
Hint: Compare values carefully; 10 > 20 is false [OK]
Common Mistakes:
  • Assuming 10 > 20 is true
  • Confusing output with variable values
  • Expecting a number instead of boolean
4. Identify the error in the following Go code snippet:
package main
import "fmt"
func main() {
    a := 5
    b := 10
    if a = b {
        fmt.Println("Equal")
    }
}
medium
A. Variables 'a' and 'b' are not declared properly
B. The '=' operator is used instead of '==' in the if condition
C. Missing parentheses around the if condition
D. fmt.Println syntax is incorrect

Solution

  1. Step 1: Check the if condition syntax

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

    To compare values, '==' must be used instead of '='.
  3. Final Answer:

    The '=' operator is used instead of '==' in the if condition -> Option B
  4. Quick Check:

    Use '==' for comparison, not '=' [OK]
Hint: Use '==' to compare, '=' only assigns [OK]
Common Mistakes:
  • Using '=' instead of '==' in conditions
  • Thinking parentheses are mandatory in Go if
  • Assuming fmt.Println syntax is wrong
5. Given the following Go code, what will be the output?
package main
import "fmt"
func main() {
    a := 15
    b := 15
    c := 20
    result := (a == b) && (c > b)
    fmt.Println(result)
}
hard
A. true
B. false
C. Compilation error
D. 15

Solution

  1. Step 1: Evaluate the first comparison (a == b)

    Both a and b are 15, so (a == b) is true.
  2. Step 2: Evaluate the second comparison (c > b)

    c is 20 and b is 15, so (c > b) is true.
  3. Step 3: Combine with logical AND

    Both conditions are true, so true && true is true.
  4. Final Answer:

    true -> Option A
  5. Quick Check:

    (15 == 15) && (20 > 15) = true [OK]
Hint: Both conditions true? Result is true [OK]
Common Mistakes:
  • Confusing && with || operator
  • Thinking one true means overall false
  • Expecting numeric output instead of boolean
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