Go Operators
Estimated reading: 3 minutes 28 views

🔍 Go Relational Operators – Compare Values in Go with Examples (2025 Guide)

🧲 Introduction – What Are Relational Operators in Go?

Relational operators in Go are used to compare two values. The result of a relational operation is always a boolean (true or false). These comparisons are fundamental in decision-making, such as in if statements, loops, or filtering logic.

🎯 In this section, you’ll learn:

  • All relational operators available in Go
  • Syntax with examples and outputs
  • Comparison rules for different data types
  • Real-world use cases and edge cases

⚖️ List of Relational Operators in Go

OperatorDescriptionExampleOutput
==Equal to5 == 5true
!=Not equal to5 != 3true
>Greater than7 > 5true
<Less than3 < 9true
>=Greater than or equal to6 >= 6true
<=Less than or equal to4 <= 5true

These work for numbers, strings, and booleans (with some constraints).


✏️ Syntax – Using Relational Operators

package main

import "fmt"

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

    fmt.Println(a == b)  // false
    fmt.Println(a != b)  // true
    fmt.Println(a < b)   // true
    fmt.Println(a > b)   // false
    fmt.Println(a <= b)  // true
    fmt.Println(a >= b)  // false
}

📤 Output:

false
true
true
false
true
false

🔡 String Comparisons in Go

Go compares strings lexicographically (dictionary order based on Unicode values).

fmt.Println("apple" < "banana") // true
fmt.Println("Go" == "Go")       // true

✅ Go is case-sensitive: "Go" != "go"


✅ Boolean Comparisons

You can compare boolean values only with == or !=.

var a, b bool = true, false
fmt.Println(a == b)  // false
fmt.Println(a != b)  // true

⚠️ You cannot use <, >, <=, >= with booleans — it will cause a compile-time error.


🧪 Real-World Example – Age Checker

package main

import "fmt"

func main() {
    age := 17

    if age >= 18 {
        fmt.Println("Eligible to vote.")
    } else {
        fmt.Println("Not eligible to vote.")
    }
}

📤 Output:

Not eligible to vote.

🚫 Common Mistakes

MistakeFix
Mixing different types (e.g. int and string)Ensure both operands are same type
Using > on booleansUse only == or != for bools
Using assignment = instead of equality ==Double-check operators in conditions

📌 Summary – Recap & Next Steps

Relational operators in Go help control program flow through comparison logic. Use them in conditionals, loops, filters, and validation logic.

🔍 Key Takeaways:

  • Use ==, !=, >, <, >=, <= for comparisons
  • Strings are compared lexicographically
  • Booleans support only == and !=
  • Always ensure operand types match for valid comparison

⚙️ Next: Learn about Go Logical Operators (&&, ||, !) to combine multiple relational expressions.


❓ FAQs – Relational Operators in Go

❓ Can I compare different data types like int and string in Go?
✅ No. Go requires both operands to be of the same type. You must convert explicitly.

❓ Are relational operators allowed on structs or arrays?
✅ Only == and != are allowed on comparable types (not slices, maps, or functions). Others like > are not valid for structs.

❓ How are strings compared in Go?
✅ Strings are compared by Unicode value, character by character.

❓ Can I use relational operators on booleans?
✅ Only == and != are valid for booleans. <, >, etc., will cause an error.

❓ What does x <= y mean in Go?
✅ It checks if x is less than or equal to y. It returns a boolean result.


Share Now :

Leave a Reply

Your email address will not be published. Required fields are marked *

Share

Go Relational Operators

Or Copy Link

CONTENTS
Scroll to Top