Git - Operatörler
Operatör, derleyiciye belirli matematiksel veya mantıksal işlemleri gerçekleştirmesini söyleyen bir semboldür. Go dili yerleşik operatörler açısından zengindir ve aşağıdaki operatör türlerini sağlar -
- Aritmetik operatörler
- İlişkisel Operatörler
- Mantıksal operatörler
- Bitsel Operatörler
- Atama Operatörleri
- Çeşitli Operatörler
Bu eğitimde aritmetik, ilişkisel, mantıksal, bitsel, atama ve diğer operatörleri tek tek açıklanmaktadır.
Aritmetik operatörler
Aşağıdaki tablo, Go dili tarafından desteklenen tüm aritmetik operatörleri göstermektedir. Değişken varsayA 10 ve değişken tutar B 20 tutar sonra -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
+ | İki işlenen ekler | A + B 30 verir |
- | İlk işlenenden ikinci işleneni çıkarır | A - B -10 verir |
* | Her iki işleneni de çarpar | A * B, 200 verir |
/ | Payı paydaya böler. | B / A 2 verir |
% | Modül operatörü; bir tamsayı bölmesinden sonra kalanı verir. | B% A, 0 verir |
++ | Arttırma operatörü. Tamsayı değerini bir artırır. | A ++, 11 verir |
- | Azaltma operatörü. Tamsayı değerini bir azaltır. | A-- 9 verir |
İlişkisel Operatörler
Aşağıdaki tablo, Go dili tarafından desteklenen tüm ilişkisel operatörleri listeler. Değişken varsayA 10 ve değişken tutar B 20 tutar, sonra -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
== | İki işlenenin değerlerinin eşit olup olmadığını kontrol eder; evet ise, durum gerçek olur. | (A == B) doğru değil. |
! = | İki işlenenin değerlerinin eşit olup olmadığını kontrol eder; değerler eşit değilse, koşul doğru olur. | (A! = B) doğrudur. |
> | Soldaki işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder; evet ise, durum gerçek olur. | (A> B) doğru değil. |
< | Soldaki işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol eder; evet ise, durum gerçek olur. | (A <B) doğrudur. |
> = | Soldaki işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder; evet ise, durum gerçek olur. | (A> = B) doğru değil. |
<= | Sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder; evet ise, durum gerçek olur. | (A <= B) doğrudur. |
Mantıksal operatörler
Aşağıdaki tablo, Go dili tarafından desteklenen tüm mantıksal işleçleri listeler. Değişken varsayA 1 ve değişken tutar B 0 tutar, sonra -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
&& | Mantıksal AND operatörü çağrıldı. Her iki işlenen de sıfır değilse, koşul doğru olur. | (A && B) yanlıştır. |
|| | Mantıksal VEYA Operatörü çağrıldı. İki işlenenden herhangi biri sıfır değilse, koşul doğru olur. | (A || B) doğrudur. |
! | Mantıksal NOT Operatörü olarak adlandırıldı. İşlenenin mantıksal durumunu tersine çevirmek için kullanın. Bir koşul doğruysa, Mantıksal NOT operatörü yanlış yapar. | ! (A && B) doğrudur. |
Aşağıdaki tablo, Go dili tarafından desteklenen tüm mantıksal işleçleri göstermektedir. Değişken varsayA doğru ve değişken tutar B yanlış tutar, o zaman -
Şebeke | Açıklama | Misal |
---|---|---|
&& | Mantıksal AND operatörü çağrıldı. Her iki işlenen de yanlışsa, koşul yanlış olur. | (A && B) yanlıştır. |
|| | Mantıksal VEYA Operatörü çağrıldı. İki işlenenden herhangi biri doğruysa, koşul doğru olur. | (A || B) doğrudur. |
! | Mantıksal NOT Operatörü olarak adlandırıldı. İşlenenin mantıksal durumunu tersine çevirmek için kullanın. Bir koşul doğruysa, Mantıksal NOT operatörü onu yanlış yapar. | ! (A && B) doğrudur. |
Bitsel Operatörler
Bitsel operatörler bitler üzerinde çalışır ve bit bit işlem gerçekleştirir. &, | Ve ^ için doğruluk tabloları aşağıdaki gibidir -
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
A = 60 varsayalım; ve B = 13. İkili biçimde, aşağıdaki gibi olacaklar -
Bir = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
C dili tarafından desteklenen Bitwise operatörleri aşağıdaki tabloda listelenmiştir. A değişkeninin 60 ve B değişkeninin 13 olduğunu varsayalım, o zaman -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
& | İkili AND İşleci, her iki işlenende de varsa sonuca bir bit kopyalar. | (A & B) 0000 1100 olan 12 verir |
| | İkili VEYA İşleci, işlenenlerden herhangi birinde varsa bir bit kopyalar. | (A | B), 0011 1101 olan 61 verecek |
^ | İkili XOR İşleci, bir işlenen içinde ayarlanmışsa, ancak her ikisinde birden ayarlanmamışsa biti kopyalar. | (A ^ B), 0011 0001 olan 49 verecek |
<< | İkili Sol Kaydırma Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sola taşınır. | Bir << 2, 1111 0000 olan 240'ı verir. |
>> | İkili Sağ Shift Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır. | A >> 2, 0000 1111 olan 15 verir |
Atama Operatörleri
Aşağıdaki tablo, Go dili tarafından desteklenen tüm atama operatörlerini listeler -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
= | Basit atama operatörü, sağ taraftaki işlenenlerden sol taraftaki işlenenlere değerler atar | C = A + B, A + B'nin değerini C'ye atar |
+ = | VE atama operatörü ekle, Sol operanda sağ operandı ekler ve sonucu sol operanda atar. | C + = A, C = C + A'ya eşdeğerdir |
- = | Çıkar VE atama operatörü, Sağ operandı sol operanddan çıkarır ve sonucu sol operanda atar. | C - = A, C = C - A'ya eşdeğerdir |
* = | AND atama operatörünü çarpın, sağ operandı sol operandla çarpar ve sonucu sol operanda atar | C * = A, C = C * A'ya eşdeğerdir |
/ = | VE atama operatörünü bölme, sol operandı sağ operand ile böler ve sonucu sol operanda atar. | C / = A, C = C / A'ya eşdeğerdir |
% = | Modül VE atama operatörü, iki işlenen kullanarak modülü alır ve sonucu sol operanda atar | C% = A eşdeğerdir C = C% A |
<< = | Sol kaydırma VE atama operatörü | C << = 2, C = C << 2 ile aynıdır |
>> = | Sağ kaydırma VE atama operatörü | C >> = 2, C = C >> 2 ile aynıdır |
& = | Bitsel AND atama operatörü | C & = 2, C = C & 2 ile aynıdır |
^ = | bit düzeyinde özel OR ve atama operatörü | C ^ = 2, C = C ^ 2 ile aynıdır |
| = | bitsel kapsayıcı OR ve atama operatörü | C | = 2, C = C | ile aynıdır | 2 |
Çeşitli Operatörler
Go Language tarafından desteklenen birkaç önemli operatör daha var: sizeof ve ?:.
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
& | Bir değişkenin adresini verir. | & a; değişkenin gerçek adresini sağlar. |
* | Bir değişkene işaretçi. | * a; bir değişkene işaretçi sağlar. |
Go'da Operatör Önceliği
Operatör önceliği, bir ifadedeki terimlerin gruplandırılmasını belirler. Bu, bir ifadenin nasıl değerlendirildiğini etkiler. Bazı operatörler diğerlerinden daha yüksek önceliğe sahiptir; örneğin, çarpma operatörü toplama operatöründen daha yüksek önceliğe sahiptir.
Örneğin x = 7 + 3 * 2; burada, x operatörü + 'dan daha yüksek önceliğe sahip olduğu için 20 değil, 13 olarak atanır, bu nedenle önce 3 * 2 ile çarpılır ve sonra 7'ye eklenir.
Burada, en yüksek önceliğe sahip operatörler tablonun en üstünde, en düşük olanlar ise en altta görünür. Bir ifade içinde, daha yüksek öncelikli operatörler ilk olarak değerlendirilecektir.
Örnekleri Göster
Kategori | Şebeke | İlişkisellik |
---|---|---|
Postfix | () [] ->. ++ - - | Soldan sağa |
Birli | + -! ~ ++ - - (tür) * & sizeof | Sağdan sola |
Çarpımsal | * /% | Soldan sağa |
Katkı | + - | Soldan sağa |
Vardiya | << >> | Soldan sağa |
İlişkisel | <<=>> = | Soldan sağa |
Eşitlik | ==! = | Soldan sağa |
Bitsel AND | & | Soldan sağa |
Bitsel ÖZELVEYA | ^ | Soldan sağa |
Bit tabanlı VEYA | | | Soldan sağa |
Mantıksal AND | && | Soldan sağa |
Mantıksal VEYA | || | Soldan sağa |
Görev | = + = - = * = / =% = >> = << = & = ^ = | = | Sağdan sola |
Virgül | , | Soldan sağa |