Go Operators:
Operators are special symbols or keywords in Go used to perform operations on variables and values. Let's explore the different categories of operators available in Go.
1. Arithmetic Operators
Used to perform mathematical calculations:
go
a := 10
b := 3
fmt.Println(a + b) // Addition
fmt.Println(a - b) // Subtraction
fmt.Println(a * b) // Multiplication
fmt.Println(a / b) // Division
fmt.Println(a % b) // Modulus2. Comparison Operators
Used to compare two values and return a boolean result:
go
a := 5
b := 10
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) // false3. Logical Operators
Used to combine multiple conditions:
go
x := true
y := false
fmt.Println(x && y) // false
fmt.Println(x || y) // true
fmt.Println(!x) // false4. Bitwise Operators
Operate at the bit level:
go
a := 5 // 0101
b := 3 // 0011
fmt.Println(a & b) // 1 (0001)
fmt.Println(a | b) // 7 (0111)
fmt.Println(a ^ b) // 6 (0110)
fmt.Println(a << 1) // 10 (1010)
fmt.Println(a >> 1) // 2 (0010)5. Assignment Operators
Used to assign and update values:
go
a := 10
a += 5 // a = a + 5
fmt.Println(a)
a -= 3 // a = a - 3
fmt.Println(a)
a *= 2 // a = a * 2
fmt.Println(a)
a /= 4 // a = a / 4
fmt.Println(a)
a %= 3 // a = a % 3
fmt.Println(a)6. Misc Operators
Other useful operators:
go
var ptr *int
x := 42
ptr = &x
fmt.Println(ptr) // memory address
fmt.Println(*ptr) // dereference