# Go Operatörler

Go operatörler (operators) dersini işliyoruz.

Diğer tüm programlama dillerinde olduğu gibi Go programlama dilinde de operatörler değişkenler ve değerler üzerinde işlem gerçekleştirmek için kullanılırlar. Buradaki işlem birçok kategoriye sahiptir. Şimdi bu kategorileri yazalım ve ardından tek tek inceleyelim;

  • Aritmetik (arithmetic) operatörler

  • Atama (assignment) operatörleri

  • Karşılaştırma (comparison) operatörleri

  • Mantıksal (logical) operatörler

  • Bit (bitwise) operatörleri

1. Aritmetik Operatörler

Go aritmetik (arithmetic) operatörler sayılar üzerinde matematiksel işlemler yapılırken kullanılırlar. a=5 ve b=2 değişkenleri üzerinden aşağıdaki örnek kullanımları inceleyebilirsiniz.

Operatör

Açıklama

Örnek

+

Toplama

a + b => 7

-

Çıkarma

a - b => 3

*

Çarpma

a * b => 10

/

Bölme

a / b => 2.5

%

Mod Alma

a % b => 1

++

Bir Artırma

a++ => 6

--

Bir Eksiltme

a-- => 4

++ ve -- ifadeleri Go programlama dilinde sadece statement ile kullanılabilir. Expression olarak kullandığınızda hata alırsınız. İkisi arasındaki fark için Tıklayınız.

a++
fmt.Print(a)

2. Atama Operatörleri

Go Atama operatörleri değerleri değişkenlere atarken kullanırlar. Tabi bu atamaları yaparken aynı zamanda aritmetik operatörleri de kullanarak pratik kod yazabilirsiniz. a=5 ve b=2 değişkenleri üzerinden aşağıdaki örnek kullanımları inceleyebilirsiniz.

Operatör

Açıklama

Eş Kullanım

=

Eşittir

a = b

+=

Toplayarak Eşitle

a = a + b

-=

Çıkararak Eşitle

a = a - b

*=

Çarparak Eşitle

a = a * b

/=

Bölerek Eşitle

a = a / b

%=

Mod Alarak Eşitle

a = a % b

&=

Bit AND İşlemi

a = a & b

|=

Bit OR İşlemi

a = a | b

^=

Bit XOR İşlemi

a = a + b

3. Karşılaştırma Operatörleri

Go karşılaştırma (comparison) operatörleri ile sayılar üzerinde büyük, küçük ve eşit ifadeleriyle karşılaştırma yapabilirsiniz. a=5 ve b=2 değişkenleri üzerinden aşağıdaki örnek kullanımları inceleyebilirsiniz.

Operatör

Açıklama

Eş Kullanım

==

Eşit mi

a == b // False

!=

Eşit değil mi

a != b // True

>

Büyük mü

a > b // True

<

Küçük mü

a < b // False

>=

Büyük eşit mi

a >= b // True

<=

Küçük eşit mi

a <= b // False

4. Mantıksal Operatörleri

Go mantıksal (logical) operatörler ile şartlı durumları birleştirebilirsiniz. a=5 ve b=2 değişkenleri üzerinden aşağıdaki örnek kullanımları inceleyebilirsiniz.

Operatör

Açıklama

Eş Kullanım

&&

Her iki durumda doğruysa

a < 5 && b < 10 // True

||

Herhangi bir durum doğruysa

x < 5 || x == 10 // True

!

Durumu ters çevir

!(a < 5 && b < 10) // False

5. Bit Operatörleri

Go bit (bitwise) operatörler ile değişkenleri karşılaştırarak AND , OR , XOR , NOT , Sağa Kaydırma ve Sola Kaydırma işlemlerini gerçekleştirebilirsiniz. Örnek kullanımları aşağıdan inceleyebilirsiniz.

Operatör

Açıklama

&

AND işlemi

|

OR işlemi

^

XOR işlemi

<<

Sola kaydırma

>>

Sağa kaydırma

& operatörü ile elinizdeki bir sayıyı başka bir sayı ile bit düzeyinde AND işlemine tabi tutabilirsiniz. Örnek kullanım aşağıdadır:

a := 3
// bit değeri: 0011

b := 5
// bit değeri: 0101

a &= b

//         0011
//(AND)    0101
//-------------
//         0001


fmt.Println(a)    // 1

| operatörü ile elinizdeki bir sayıyı başka bir sayı ile bit düzeyinde OR işlemine tabi tutabilirsiniz. Örnek kullanım aşağıdadır:

a := 3
// bit değeri: 0011

b := 5
// bit değeri: 0101

a |= b

//         0011
//(OR)     0101
//-------------
//         0111


fmt.Println(a)    // 7

^ operatörü ile elinizdeki bir sayıyı başka bir sayı ile bit düzeyinde XOR işlemine tabi tutabilirsiniz. Örnek kullanım aşağıdadır:

a := 3
// bit değeri: 0011

b := 5
// bit değeri: 0101

a ^= b

//          0011
//(XOR)     0101
//--------------
//          0110


fmt.Println(a)    // 6

>> operatörü ile elinizdeki bir sayının bit değeri üzerinden sağa kaydırma işlemi yapabilirsiniz. Soldan gelen yeni bitle ise 0 değerini alır. Örnek kullanım aşağıdadır:

a := 5
// bit değeri: 0101

a >>= 2
// yeni bit değeri: 0001

fmt.Println(a)    //1

<< operatörü ile elinizdeki bir sayının bit değeri üzerinden sola kaydırma işlemi yapabilirsiniz. Sağdan gelen yeni bitle ise 0 değerini alır. Örnek kullanım aşağıdadır:

a := 13
// bit değeri: 1101

a <<= 5
// yeni bit değeri: 110100000

fmt.Println(a)    //416

Last updated