Golang Operatörler

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

 

Yorum Yap