Go da operatorlar
Go da bir nechta operator turlari mavjud, bular quyidagilar:
- Arifmetik operatorlari
- Munosabat operatorlari
- Mantiqiy operatorlari
- Bit operatorlari(Bitwise)
- Tayinlash operatorlari
- Ko'rsatkich(pointer) operatorlari
Endi har biriga navbat bilan to'xtalib o'tamiz.
Arifmetik operatorlari
Quyidagi jadval uchun A ni 10, B ni 20 deb oldik.
| Operator | Ta'rif | Misol |
|---|---|---|
| + | Qo'shish | A + B, natija=30 |
| - | Ayirish | A - B, natija= -10 |
| * | Ko'paytirish | A * B, natija= 200 |
| / | Bo'lish | B / A, natija= 2 |
| % | B ni A ga bo'lgandagi qoldiq | B % A, natija= 0 |
| ++ | Increment: Birga oshirish | A++, natija= 11 |
| -- | Decrement: Birga kamaytirish | A--, natija= 9 |
Misol:
Munosabat operatorlari
Munosabat operatorlari ikki operant o'rtasidagi munosabatni tekshirish uchun qo'laniladi. Misol uchun A va B bir-biriga tengmi, yokki katta kichikligini tekshirish uchun hizmat qiladi. Quyidagi jadval uchun A ni 10, B ni 20 deb oldik.
| Operator | Ta'rif | Misol |
|---|---|---|
| == | Ikkila qiymatni bir-biriga tengligini tekshiradi. Agar teng bo'lsa true, aks holda false natija qaytaradi. |
(A == B), natija=false. |
| != | Ikkita qiymat bir-biriga teng emasligini tekshiradi. Agar teng bo'lmasa ture, aks holda false natija chiqadi. |
(A != B), natija=true. |
| > | Agar chap tomondagi qiymat, o'ng tomondagidan katta bo'lsa true, aks holda false natija chiqadi. |
(A > B), natija=false. |
| < | Agar chap tomondagi qiymat, o'ng tomondagidan kichik bo'lsa true, aks holda false natija chiqadi. |
(A < B) , natija=true. |
| >= | Agar chap tomondagi qiymat, o'ng tomondagidan katta yoki teng bo'lsa true, aks holda false natija chiqadi. |
(A >= B) , natija=false. |
| <= | Agar chap tomondagi qiymat, o'ng tomondagidan kichik yoki teng bo'lsa true, aks holda false natija chiqadi |
(A <= B), natija=true. |
Misol:
Mantiqiy operatorlari
- &&(AND) - mantiqiy ko'paytirish
- ||(OR) - mantiqiy qo'shish
- !(NOT) - mantiqiy inkor
Mantiqiy operatorlar matematik operatorlar kabi faqat asosiy farqi mantiqiy operatorlar sonlar utida emas mantiqiy turlar ustida amallar bajaradi.
Munosabat amallari ikki xil qiymat qaytaradi bular true(rost) va false(yolg'on).
Bu qiymatlar mantiqiy(bool) turida bo'ladi.
Mantiqiy operatorlar yuqorida aytilgan true va false qiymatlar ustida amallar bajaradi.
Quyidagi jadval uchun A ni 1, B ni 0 deb oldik.
| Operator | Ta'rif | Misol |
|---|---|---|
| && | Mantiqiy AND(va) operatori. Ikkala operandlar true bo'lsa true aks holda natija false bo'ladi. |
(A && B), natija=false. |
| || | Mantiqiy OR(yoki) Operatori. Ikkala operandlardan biri true bo'lsa true, aks holda natija false bo'ladi. |
(A || B), natija=true. |
| ! | Mantiqiy NOT(emas) Operatori. Mantiqiy inkor amali natijani qarama-qarshi natijaga o'zgartiradi. Agar natija true bo'lsa mantiqiy inkor amali false ga o'zgartiradi. |
!(A && B), natija=true. |
Mantiqiy operatorlarga ta'rif
- not (inkor qilish) - mantiqiy operatori mantiqiy ifodalar yoki o'zgaruvchilar oldidan qo'yiladi. Mantiqiy ifoda yoki o'zgaruvchining qiymatini teskarisiga o'zgartiradi.
- and (Mantiqiy ko'paytirish) - mantiqiy operatori ikkita mantiqiy o'zgaruvchini birlashtiradi. Agar ikkala o'zgaruvchi ham rost qiymatga ega bo'lsa natija rost, aks holda yolg`on natija beradi.
- or (mantiqiy qo'shish) - mantiqiy operatori ikkita mantiqiy o'zgaruvchini birlashtiradi. Agar o'zgaruvchilardan kamida bittasi rost qiymatga ega bo'lsa natija rost, aks holda yolg`on natija beradi.
Mantiqiy inkor(not) jadvali
| X | not X |
|---|---|
| False | True |
| True | False |
Mantiqiy qo'shish(or) va ko'paytirish(and) jadvali
| X | Y | X and Y | X or Y |
|---|---|---|---|
| False | False | False | False |
| False | True | False | True |
| True | False | False | True |
| True | True | True | True |
Misol:
Tayinlash operatorlari
| Operator | Ta'rif | Misol |
|---|---|---|
| = | Oddiy tayinlash operatori. Chap tomondagi o'zgaruvchiga, o'ng tomondagi yig'inidi tayinlanadi. | C = A + B |
| += | Qo'shish va tayinlash operatori. Chap tomondagi o'zgaruvchiga, o'ng tomondagi yig'inidi tayinlanadi. Bu C = C + Ani qisqa ko'rinishi. |
C += A, C = C + A |
| -= | Ayirish va tayinlash operatori. Chap tomondagi o'zgaruvchiga, o'ng tomondagi ayirma tayinlanadi. Bu C = C - Ani qisqa ko'rinishi. |
C -= A, C = C - A |
| *= | Ko'paytirish va tayinlash operatori. Chap tomondagi o'zgaruvchiga, o'ng tomondagi ko'paytma tayinlanadi. Bu C = C * Ani qisqa ko'rinishi. |
C *= A, C = C * A |
| /= | Bo'lish va tayinlash operatori. Chap tomondagi o'zgaruvchiga, o'ng tomondagi bo'linma tayinlanadi. Bu C = C / Ani qisqa ko'rinishi. |
C /= A, C = C / A |
| %= | Qoldiqli bo'lish va tayinlash operatori. Chap tomondagi o'zgaruvchiga, o'ng tomondagi qoldiqli bo'lish natijasi tayinlanadi. Bu C = C % Ani qisqa ko'rinishi. |
C %= A, C = C % A |
Misol:
Eslatma
Yuqorida ko'rsatilgan misollarni barchasini ishga tushirib sinab ko'ring. Yaxshiroq tushinish uchun boshqa qiymatlar bilan sinab ko'ring. Shunda yaxshiroq natija olasiz. Hech qachon darslikdagi misollar bilan cheklanib qolmang.