Go - Operators: Panduan Menyenangkan ke Magi Pemrograman

Hai sana, para ahli kod masa depan! Hari ini, kita akan menyelam ke dunia yang menakjubkan operator Go. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan andalan Anda dalam perjalanan magis ini. Pada akhir panduan ini, Anda akan menjadi mahir dalam menggunakan operator!

Go - Operators

Apa Itu Operator?

Sebelum kita memulai, mari bicarakan apa sebenarnya operator. Anggaplah operator sebagai tongkat sihir pemrograman. Mereka memungkinkan kita untuk melakukan tindakan pada data kita, membandingkan nilai, dan membuat keputusan dalam kode kita. Seperti chef yang menggunakan berbagai peralatan untuk membuat makanan lezat, kita menggunakan operator yang berbeda untuk membuat program yang menakjubkan!

Operator Aritmetik: Para Ahli Matematika

Mari mulai dengan sesuatu yang familiar - matematika! Operator aritmetik di Go bekerja seperti operasi matematika dasar yang Anda pelajari di sekolah. Ini adalah tabel dari keajaiban matematika ini:

Operator Deskripsi Contoh
+ Penambahan 5 + 3 = 8
- Pengurangan 10 - 4 = 6
* Perkalian 3 * 4 = 12
/ Pembagian 15 / 3 = 5
% Modulus (sisa) 17 % 5 = 2

Mari lihat contohnya dalam program kecil dan menyenangkan:

package main

import "fmt"

func main() {
a := 10
b := 3

fmt.Println("Penambahan:", a + b)
fmt.Println("Pengurangan:", a - b)
fmt.Println("Perkalian:", a * b)
fmt.Println("Pembagian:", a / b)
fmt.Println("Modulus:", a % b)
}

Ketika Anda menjalankan program ini, Anda akan melihat:

Penambahan: 13
Pengurangan: 7
Perkalian: 30
Pembagian: 3
Modulus: 1

Apakah itu menarik? Kita baru saja melakukan semua operasi matematika dasar dalam beberapa baris kode!

Operator Relasional: Para Penyandang Kebenaran

Berikutnya, kita punya operator relasional. Operator ini seperti para juri dalam acara bakat - mereka membandingkan dua nilai dan menentukan apakah perbandingan itu benar atau salah. Ini adalah barisan para penyandang kebenaran kita:

Operator Deskripsi Contoh
== Sama dengan 5 == 5 is true
!= Tidak sama dengan 5 != 3 is true
> Lebih besar dari 7 > 3 is true
< Lebih kecil dari 2 < 8 is true
>= Lebih besar atau sama dengan 5 >= 5 is true
<= Lebih kecil atau sama dengan 4 <= 4 is true

Mari gunakan mereka:

package main

import "fmt"

func main() {
x := 5
y := 10

fmt.Println("Is x sama dengan y?", x == y)
fmt.Println("Is x tidak sama dengan y?", x != y)
fmt.Println("Is x lebih besar dari y?", x > y)
fmt.Println("Is x lebih kecil dari y?", x < y)
fmt.Println("Is x lebih besar atau sama dengan y?", x >= y)
fmt.Println("Is x lebih kecil atau sama dengan y?", x <= y)
}

Menjalankan ini akan memberikan Anda:

Is x sama dengan y? false
Is x tidak sama dengan y? true
Is x lebih besar dari y? false
Is x lebih kecil dari y? true
Is x lebih besar atau sama dengan y? false
Is x lebih kecil atau sama dengan y? true

Lihat bagaimana setiap perbandingan memberikan kita hasil benar atau salah? Itu kekuatan operator relasional!

Operator Logis: Para Penentang Keputusan

Operator logis adalah seperti para pendeta bijaksana desa kita. Mereka membantu kita membuat keputusan kompleks dengan menggabungkan beberapa kondisi. Ini adalah para cahaya logis kita:

Operator Deskripsi Contoh
&& AND true && false = false
|| OR true || false = true
! NOT !true = false

Mari lihat mereka dalam aksi:

package main

import "fmt"

func main() {
isSunny := true
isWarm := false

fmt.Println("Is it sunny AND warm?", isSunny && isWarm)
fmt.Println("Is it sunny OR warm?", isSunny || isWarm)
fmt.Println("Is it NOT sunny?", !isSunny)
}

Ini akan mengeluarkan:

Is it sunny AND warm? false
Is it sunny OR warm? true
Is it NOT sunny? false

Operator ini sangat kuat untuk membuat keputusan dalam program Anda. Mereka seperti otak kode Anda!

Operator Bitwise: Para Teman Binari

Sekarang, kita memasuki realm sihir binari dengan operator bitwise. Operator ini bekerja langsung pada representasi binari angka. Mereka agak lanjut, tetapi mengetahui mereka bisa sangat membantu! Ini adalah barisan para teman binari kita:

Operator Deskripsi
& Bitwise AND
| Bitwise OR
^ Bitwise XOR
<< Geser kiri
>> Geser kanan

Ini adalah contoh sederhana:

package main

import "fmt"

func main() {
a := 5  // binari: 101
b := 3  // binari: 011

fmt.Printf("a & b = %d\n", a & b)
fmt.Printf("a | b = %d\n", a | b)
fmt.Printf("a ^ b = %d\n", a ^ b)
fmt.Printf("a << 1 = %d\n", a << 1)
fmt.Printf("b >> 1 = %d\n", b >> 1)
}

Ini akan mengeluarkan:

a & b = 1
a | b = 7
a ^ b = 6
a << 1 = 10
b >> 1 = 1

Jangan khawatir jika ini terlihat agak membingungkan pada awalnya. Operasi bitwise adalah seperti belajar bahasa baru - itu memerlukan waktu dan latihan!

Operator Penugasan: Para PenyetterNilai

Operator penugasan adalah seperti para asisten yang membantu di kode kita. Mereka membantu kita menugaskan dan memperbarui nilai secara cepat. Ini adalah tim penyetter nilai kita:

Operator Deskripsi Contoh
= Penugasan sederhana x = 5
+= Tambah dan tugaskan x += 3 is the same as x = x + 3
-= Kurang dan tugaskan x -= 2 is the same as x = x - 2
*= Kalikan dan tugaskan x = 4 is the same as x = x 4
/= Bagi dan tugaskan x /= 2 is the same as x = x / 2
%= Modulus dan tugaskan x %= 3 is the same as x = x % 3

Mari lihat mereka dalam aksi:

package main

import "fmt"

func main() {
x := 10

fmt.Println("Initial x:", x)

x += 5
fmt.Println("After x += 5:", x)

x -= 3
fmt.Println("After x -= 3:", x)

x *= 2
fmt.Println("After x *= 2:", x)

x /= 4
fmt.Println("After x /= 4:", x)

x %= 3
fmt.Println("After x %= 3:", x)
}

Ini akan mengeluarkan:

Initial x: 10
After x += 5: 15
After x -= 3: 12
After x *= 2: 24
After x /= 4: 6
After x %= 3: 0

Operator ini adalah jalan pintas yang bagus yang membuat kode kita lebih bersih dan efisien!

Operator Lain-lain: Para Unik Unikorn

Go juga memiliki beberapa operator khusus yang tidak masuk ke kategori lain. Operator ini adalah:

Operator Deskripsi
& Alamat
* Penunjuk
<- Operator terima

Ini adalah konsep yang lebih lanjut yang kita akan jelajahi dalam les berikutnya. Untuk sekarang, hanya tahu bahwa mereka ada dan menunggu Anda untuk menemukan keajaiban mereka!

Precedence Operator di Go: Hierarki Kuasa

Seperti di matematika, Go memiliki urutan tertentu dalam melakukan operasi. Ini disebut precedence operator. Ini adalah versi sederhana precedence operator Go, dari yang tertinggi ke yang terendah:

  1. Parentheses ()
  2. Operator unik (!, -, +, &, *, <-)
  3. Perkalian, pembagian, modulus (*, /, %)
  4. Penambahan dan pengurangan (+, -)
  5. Operator perbandingan (==, !=, <, <=, >, >=)
  6. Logical AND (&&)
  7. Logical OR (||)
  8. Operator penugasan (=, +=, -=, *=, /=, %=)

Ingat, jika ragu, gunakan parentheses untuk menjelaskan kehendak Anda!

Dan itu saja, para ahli kod pemula! Kita telah berpergian melalui negeri operator Go, dari operator aritmetik yang familiar hingga operator bitwise yang mistik. Ingat, menjadi master operator ini memerlukan latihan, jadi jangan frustasi jika itu tidak langsung beresonasi. Terus kod, terus eksperimen, dan segera Anda akan menjadi ahli sihir Go seperti seorang ahli!

Credits: Image by storyset