Operatörler, değişkenler ve değerler üzerinde matematiksel veya mantıksal işlemler yapmak için kullanılır. Her ifade, operatör ve işlenen (operand) içerir. İşlenen, operatörlerin uygulandığı ifadenin giriş verileridir.
İfadeler, işlenenlerden ve operatörlerden oluşur. Bir ifadenin operatörleri, işlenenlere hangi işlemlerin uygulanacağını gösterir.
Golang’da kullanılan operatörler;
- Aritmetik Operatörler (Arithmetic Operators)
- Atama Operatörleri (Assignment Operators)
- Karşılaştırma Operatörleri (Comparison Operators)
- Mantıksal Operatörler (Logical Operators)
- Bitsel Operatörler (Bitwise Operators)
#1 Aritmetik Operatörler
Aritmetik operatörler, toplama, çıkarma, çarpma vb. gibi matematiksel işlemleri gerçekleştirmek için kullanılır.
Operatör | Açıklama | Örnek | Açıklama |
---|---|---|---|
+ | Toplama | x + y | x ve y’nin toplamı |
– | Çıkarma | x – y | x’den y değerini çıkarır |
* | Çarpma | x * y | İki değeri çarpar |
/ | Bölme | x / y | x değerini, y değerine bölme |
% | Mod | x % y | x’in y değerine bölümünden kalanı verir |
++ | Arttırma | x++ | Değişkenin değerini 1 artırır |
— | Azaltma | x– | Değişkenin değerini 1 azaltır |
Aritmetik Operatörler Örneği
package main import "fmt" func main() { var x, y = 10, 2 fmt.Printf("x + y = %d\n", x+y) fmt.Printf("x - y = %d\n", x-y) fmt.Printf("x * y = %d\n", x*y) fmt.Printf("x / y = %d\n", x/y) fmt.Printf("x mod y = %d\n", x%y) x++ fmt.Printf("x++ = %d\n", x) y-- fmt.Printf("y-- = %d\n", y) }
Kod Çıktısı:
x + y = 12 x - y = 8 x * y = 20 x / y = 5 x mod y = 0 x++ = 11 y-- = 1
#2 Atama Operatörleri
Atama operatörleri, değişkenlere değer atamak için kullanılır.
Atama Operatörü | Açıklama | Örnek |
---|---|---|
x = y | Y değerini X‘e atar. (Atamalar sağdan sola olur.) | x = y |
x += y | X değeri, kendi değerine Y değerini de ekleyerek yeni değerini alır. | x = x + y |
x -= y | X değeri, kendi değerinden Y değerini çıkararak yeni değerini alır. | x = x – y |
x *= y | X değeri, kendi değeri ile Y değerini çarparak yeni değerini alır. | x = x * y |
x /= y | X değeri, kendi değerini Y değerine bölerek yeni değerini alır. | x = x / y |
x %= y | X değeri, kendi değerinin Y değerine bölümünden kalanı kendine ekleyerek yeni değerini alır. | x = x % y |
Atama Operatörleri Örneği
package main import "fmt" func main() { var x int = 15 var y int = 20 x = y fmt.Println("= ", x) x += y fmt.Println("+= ", x) x -= y fmt.Println("-= ", x) x *= y fmt.Println("*= ", x) x /= y fmt.Println("/= ", x) x %= y fmt.Println("%= ", x) }
Kod Çıktısı:
= 20 += 40 -= 20 *= 400 /= 20 %= 0 // çıktıda herhangi bir yanlışlık yoktur. Tüm operatörler aynı kodda yazıldığından dolayı her satırda x, bir önceki satırdaki değeri alıyor.
#3 Karşılaştırma Operatörleri
Karşılaştırma operatörleri, iki değer arasında karşılaştırma yapmak için kullanılır.
Operatör | Adı | Örnek | Sonuç |
---|---|---|---|
== | Eşit | x == y | X, Y değerine eşit |
!= | Eşit değil | x != y | X, Y değerine eşit değil |
< | Küçüktür | x < y | X, Y değerinden küçük |
<= | Küçük eşit | x <= y | X, Y değerinden küçük veya eşit |
> | Büyüktür | x > y | X, Y değerinden büyük |
>= | Büyük eşit | x >= y | X, Y değerinden büyük veya eşit |
Karşılaştırma Operatörleri Örneği
package main import "fmt" func main() { var x, y = 10, 20 fmt.Println(x == y) fmt.Println(x != y) fmt.Println(x < y) fmt.Println(x <= y) fmt.Println(x > y) fmt.Println(x >= y) }
Kod Çıktısı:
false true true true false false
#4 Mantıksal Operatörler
Mantıksal operatörler, değişkenler veya değerler arasındaki True ve False karşılaştırması yapar.
Operatör | Adı | Açıklama | Örnek |
---|---|---|---|
&& | Ve – And | İfadelerin hepsinin sonucu True ise sonuç da True olur. | x < y && x > z |
|| | Veya – Or | İfadelerin birinin sonucu True ise sonuç da True olur. | x < y || x > z |
! | Değil – Not | Sonucu ters çevirir. True ise False / False ise True | !(x == y && x > z) |
Mantıksal Operatörler Örneği
package main import "fmt" func main() { var x, y, z = 15, 25, 35 fmt.Println(x < y && x > z) fmt.Println(x < y || x > z) fmt.Println(!(x == y && x > z)) }
Kod Çıktısı:
false true true
#4 Bitsel Operatörler
Bitsel operatörler (binary) sayıları karşılaştırmak için kullanılır.
Operatör | Adı |
---|---|
& | AND |
| | OR |
^ | XOR |
<< | Zero fill left shift (sola kaydırma) |
>> | Signed right shift (sağa kaydırma) |
Bitsel Operatörler Örneği
package main import "fmt" func main() { var x uint = 9 //0000 1001 var y uint = 65 //0100 0001 var z uint z = x & y fmt.Println("x & y =", z) z = x | y fmt.Println("x | y =", z) z = x ^ y fmt.Println("x ^ y =", z) z = x << 1 fmt.Println("x << 1 =", z) z = x >> 1 fmt.Println("x >> 1 =", z) }
Kod Çıktısı:
x & y = 1 x | y = 73 x ^ y = 72 x << 1 = 18 x >> 1 = 4