Pergi - Operator

Operator adalah simbol yang memberi tahu kompiler untuk melakukan manipulasi matematika atau logika tertentu. Bahasa Go kaya akan operator bawaan dan menyediakan jenis operator berikut -

  • Operator Aritmatika
  • Operator Relasional
  • Operator Logis
  • Operator Bitwise
  • Operator Penugasan
  • Operator Miscellaneous

Tutorial ini menjelaskan aritmatika, relasional, logika, bitwise, penugasan, dan operator lain satu per satu.

Operator Aritmatika

Tabel berikut menunjukkan semua operator aritmatika yang didukung oleh bahasa Go. Asumsikan variabelA memegang 10 dan variabel B memegang 20 lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
+ Menambahkan dua operan A + B menghasilkan 30
- Mengurangi operan kedua dari yang pertama A - B memberikan -10
* Menggandakan kedua operan A * B menghasilkan 200
/ Membagi pembilang dengan penyebut. B / A menghasilkan 2
% Operator modulus; memberikan sisa setelah pembagian integer. B% A menghasilkan 0
++ Operator increment. Ini meningkatkan nilai integer satu. A ++ menghasilkan 11
- Operator pengurangan. Ini mengurangi nilai integer satu. A-- memberi 9

Operator Relasional

Tabel berikut mencantumkan semua operator relasional yang didukung oleh bahasa Go. Asumsikan variabelA memegang 10 dan variabel B memegang 20, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
== Ia memeriksa apakah nilai dari dua operan sama atau tidak; jika ya, kondisinya menjadi benar. (A == B) tidak benar.
! = Ia memeriksa apakah nilai dari dua operan sama atau tidak; jika nilainya tidak sama, maka kondisinya menjadi benar. (A! = B) benar.
> Ia memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan; jika ya, kondisinya menjadi benar. (A> B) tidak benar.
< Ia memeriksa apakah nilai operan kiri kurang dari nilai operan kanan; jika ya, kondisinya menjadi benar. (A <B) benar.
> = Ia memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan; jika ya, kondisinya menjadi benar. (A> = B) tidak benar.
<= Ia memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan; jika ya, kondisinya menjadi benar. (A <= B) benar.

Operator Logis

Tabel berikut mencantumkan semua operator logika yang didukung oleh bahasa Go. Asumsikan variabelA memegang 1 dan variabel B memegang 0, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
&& Disebut Logical AND operator. Jika kedua operan bukan nol, maka kondisi menjadi benar. (A && B) salah.
|| Disebut Logical OR Operator. Jika salah satu dari dua operan bukan nol, maka kondisi menjadi benar. (A || B) itu benar.
! Disebut Logical NOT Operator. Gunakan untuk membalikkan keadaan logis operannya. Jika kondisi benar maka operator NOT akan membuat salah. ! (A && B) benar.

Tabel berikut menunjukkan semua operator logika yang didukung oleh bahasa Go. Asumsikan variabelA berlaku dan variabel B memegang salah, lalu -

Operator Deskripsi Contoh
&& Disebut Logical AND operator. Jika kedua operan salah, maka kondisinya menjadi salah. (A && B) salah.
|| Disebut Logical OR Operator. Jika salah satu dari dua operan benar, maka kondisinya menjadi benar. (A || B) itu benar.
! Disebut Logical NOT Operator. Gunakan untuk membalikkan keadaan logis operannya. Jika kondisi benar, maka operator NOT akan membuatnya salah. ! (A && B) benar.

Operator Bitwise

Operator bitwise bekerja pada bit dan melakukan operasi bit demi bit. Tabel kebenaran untuk &, |, dan ^ adalah sebagai berikut -

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

Asumsikan A = 60; dan B = 13. Dalam format biner, mereka akan menjadi sebagai berikut -

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

~ A = 1100 0011

Operator Bitwise yang didukung oleh bahasa C tercantum dalam tabel berikut. Asumsikan variabel A memiliki 60 dan variabel B memiliki 13, maka -

Tunjukkan Contoh

Operator Deskripsi Contoh
& Biner AND Operator menyalin sedikit ke hasil jika ada di kedua operan. (A & B) akan menghasilkan 12, yaitu 0000 1100
| Biner ATAU Operator menyalin sedikit jika ada di salah satu operan. (A | B) akan menghasilkan 61, yaitu 0011 1101
^ Operator Biner XOR menyalin bit jika diatur dalam satu operan tetapi tidak keduanya. (A ^ B) akan menghasilkan 49, yaitu 0011 0001
<< Operator Binary Left Shift. Nilai operan kiri dipindahkan ke kiri dengan jumlah bit yang ditentukan oleh operan kanan. A << 2 akan menghasilkan 240 yaitu 1111 0000
>> Operator Pergeseran Kanan Biner. Nilai operan kiri dipindahkan ke kanan dengan jumlah bit yang ditentukan oleh operan kanan. A >> 2 akan menghasilkan 15 yaitu 0000 1111

Operator Penugasan

Tabel berikut mencantumkan semua operator tugas yang didukung oleh bahasa Go -

Tunjukkan Contoh

Operator Deskripsi Contoh
= Operator penugasan sederhana, Menetapkan nilai dari operan sisi kanan ke operan sisi kiri C = A + B akan memberikan nilai A + B ke dalam C
+ = Tambahkan AND operator penugasan, Ini menambahkan operan kanan ke operan kiri dan menetapkan hasilnya ke operan kiri C + = A ekivalen dengan C = C + A
- = Kurangi AND operator penugasan, Ini mengurangi operan kanan dari operan kiri dan menetapkan hasilnya ke operan kiri C - = A ekivalen dengan C = C - A
* = Kalikan DAN operator penugasan, Ini mengalikan operan kanan dengan operan kiri dan menetapkan hasilnya ke operan kiri C * = A setara dengan C = C * A
/ = Bagi AND operator penugasan, Ini membagi operan kiri dengan operan kanan dan menetapkan hasilnya ke operan kiri C / = A ekivalen dengan C = C / A
% = Modulus AND operator penugasan, Dibutuhkan modulus menggunakan dua operan dan menetapkan hasilnya ke operan kiri C% = A setara dengan C = C% A
<< = Pergeseran kiri DAN operator penugasan C << = 2 sama dengan C = C << 2
>> = Shift kanan DAN operator penugasan C >> = 2 sama dengan C = C >> 2
& = Bitwise AND operator penugasan C & = 2 sama dengan C = C & 2
^ = bitwise eksklusif OR dan operator penugasan C ^ = 2 sama dengan C = C ^ 2
| = bitwise inklusif OR dan operator penugasan C | = 2 sama dengan C = C | 2

Operator Miscellaneous

Ada beberapa operator penting lainnya yang didukung oleh Go Language termasuk sizeof dan ?:.

Tunjukkan Contoh

Operator Deskripsi Contoh
& Menampilkan alamat variabel. &Sebuah; memberikan alamat sebenarnya dari variabel tersebut.
* Pointer ke variabel. *Sebuah; memberikan pointer ke variabel.

Operator Diutamakan di Go

Prioritas operator menentukan pengelompokan istilah dalam ekspresi. Ini memengaruhi bagaimana ekspresi dievaluasi. Operator tertentu memiliki prioritas yang lebih tinggi dari yang lain; misalnya, operator perkalian memiliki prioritas yang lebih tinggi daripada operator penjumlahan.

Misalnya x = 7 + 3 * 2; di sini, x ditetapkan 13, bukan 20 karena operator * memiliki prioritas lebih tinggi dari +, jadi pertama-tama dikalikan dengan 3 * 2 dan kemudian dijumlahkan menjadi 7.

Di sini, operator dengan prioritas tertinggi muncul di bagian atas tabel, operator dengan prioritas terendah muncul di bagian bawah. Dalam ekspresi, operator dengan prioritas lebih tinggi akan dievaluasi terlebih dahulu.

Tunjukkan Contoh

Kategori Operator Asosiatif
Postfix () [] ->. ++ - - Kiri ke kanan
Unary + -! ~ ++ - - (tipe) * & sizeof Kanan ke kiri
Perkalian * /% Kiri ke kanan
Aditif + - Kiri ke kanan
Bergeser << >> Kiri ke kanan
Relasional <<=>> = Kiri ke kanan
Persamaan ==! = Kiri ke kanan
Bitwise DAN & Kiri ke kanan
Bitwise XOR ^ Kiri ke kanan
Bitwise ATAU | Kiri ke kanan
DAN logis && Kiri ke kanan
Logis ATAU || Kiri ke kanan
Tugas = + = - = * = / =% = >> = << = & = ^ = | = Kanan ke kiri
Koma , Kiri ke kanan