Go Boolean operators

In Go we have three logical operators - && (logical and), || (logical or) and ! (negation).

Go Boolean operators

Boolean operators are also called logical.

Many expressions result in a boolean value. For instance, boolean values are used in conditional statements.


package main

import "fmt"

func main() {

    var x = 3
    var y = 5

    fmt.Println(x == y)
    fmt.Println(y > x)

    if y > x {

        fmt.Println("y is greater than x")
    }
}

Output:

false
true
y is greater than x

Go Logical and (&&) operator

The code example shows the logical and (&&) operator. It evaluates to true only if both operands are true.


package main

import "fmt"

func main() {

    var a = true && true
    var b = true && false
    var c = false && true
    var d = false && false

    fmt.Println(a)
    fmt.Println(b)
    fmt.Println(c)
    fmt.Println(d)
}

Output:

true
false
false
false

Go Logical or (||) operator

The logical or (||) operator evaluates to true if either of the operands is true.


package main

import "fmt"

func main() {

    var a = true || true
    var b = true || false
    var c = false || true
    var d = false || false

    fmt.Println(a)
    fmt.Println(b)
    fmt.Println(c)
    fmt.Println(d)
}

Output:

true
true
true
false

Go negation operator !

The negation operator ! makes true false and false true.


package main

import "fmt"

func main() {

    fmt.Println(!true)
    fmt.Println(!false)
}

Output:

false
true
true