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 |