Panduan Lengkap tentang range dalam Go untuk Pemula

Hai, para pemrogram yang sedang belajar! Hari ini, kita akan memulai perjalanan yang menarik ke dalam dunia pemrograman Go, khususnya fokus pada kata kunci range. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya disini untuk mengorbit Anda melalui konsep ini dengan banyak contoh dan penjelasan. Jadi, ambil minumannya yang favorit, nyamanlah, dan mari kita masuk ke dalamnya!

Go - Range

Apa itu Range?

Sebelum kita mulai mengoding, mari kita pahami apa itu range. Dalam Go, range adalah seperti seorang panduan magis untuk struktur data Anda. Itu membantu Anda untuk mengulang berbagai jenis data, termasuk array, slice, map, string, dan channel. Pikirkan itu seperti pisau Swiss Army untuk mengulang melalui koleksi data.

Sintaksis Range

Sintaksis dasar range sangat sederhana:

for index, value := range collection {
// Kode Anda disini
}

Di sini, index memberikan Anda posisi elemen, dan value memberikan Anda elemen itu sendiri. Tetapi jangan khawatir jika ini terlihat abstrak saat ini - kita akan melihat banyak contoh segera!

Range dengan Array dan Slice

Mari kita mulai dengan contoh sederhana menggunakan array:

package main

import "fmt"

func main() {
fruits := [3]string{"apple", "banana", "cherry"}

for index, fruit := range fruits {
fmt.Printf("Index: %d, Fruit: %s\n", index, fruit)
}
}

Ketika Anda menjalankan kode ini, Anda akan melihat:

Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry

Apa yang terjadi disini? Kata kunci range membantu kita mengulang melalui array fruits. Untuk setiap iterasi, itu memberikan kita indeks dan nilai (nama buah) di indeks itu.

Menggunakan Hanya Indeks

kadang-kadang, Anda mungkin hanya memerlukan indeks. Dalam kasus itu, Anda dapat mengabaikan variabel nilai:

for index := range fruits {
fmt.Printf("Index: %d\n", index)
}

Menggunakan Hanya Nilai

Atau mungkin Anda hanya peduli dengan nilai dan tidak peduli dengan indeks. Anda dapat menggunakan identifier kosong _ untuk mengabaikan indeks:

for _, fruit := range fruits {
fmt.Printf("Fruit: %s\n", fruit)
}

Range dengan Maps

Map dalam Go seperti kotak harta karun penuh dengan pasangan kunci-nilai. Mari kita lihat bagaimana range bekerja dengan mereka:

package main

import "fmt"

func main() {
ages := map[string]int{
"Alice": 25,
"Bob":   30,
"Charlie": 35,
}

for name, age := range ages {
fmt.Printf("%s is %d years old\n", name, age)
}
}

Output:

Alice is 25 years old
Bob is 30 years old
Charlie is 35 years old

Di sini, range memberikan kita keduanya kunci (nama) dan nilai (umur) untuk setiap entri dalam map.

Range dengan Strings

String dalam Go adalah urutan byte, dan range dapat membantu kita mengulang melalui mereka:

package main

import "fmt"

func main() {
message := "Hello, 世界"

for index, runeValue := range message {
fmt.Printf("Index: %d, Character: %c, Unicode: %U\n", index, runeValue, runeValue)
}
}

Contoh ini menunjukkan bagaimana range menangani karakter multi-byte (seperti dalam Cina) dengan benar.

Range dengan Channels

Channel adalah fitur unik dalam Go untuk komunikasi antara goroutine. Ini adalah bagaimana range bekerja dengan channel:

package main

import "fmt"

func main() {
ch := make(chan int)
go func() {
ch <- 1
ch <- 2
ch <- 3
close(ch)
}()

for num := range ch {
fmt.Println(num)
}
}

Dalam contoh ini, range terus menerima nilai dari channel sampai itu ditutup.

Metode Range Umum

Berikut adalah tabel yang menggabungkan cara umum untuk menggunakan range:

Tipe Data Sintaksis Deskripsi
Array/Slice for index, value := range array Mengulang setiap elemen, menyediakan indeks dan nilai
Map for key, value := range map Mengulang setiap pasangan kunci-nilai
String for index, runeValue := range string Mengulang setiap kode poin Unicode
Channel for value := range channel Menerima nilai dari channel sampai ditutup

Kesimpulan

Dan begitu saja, teman-teman! Kita telah melakukan perjalanan besar tentang kata kunci range dalam Go. Dari array ke map, string ke channel, range adalah teman andalan Anda untuk mengulang melalui struktur data dalam Go.

Ingat, latihan membuat sempurna. Cobalah menulis program Anda sendiri menggunakan range dengan jenis data yang berbeda. eksperimen,buat kesalahan, dan belajar dari mereka. Itulah cara terbaik untuk menjadi mahir dalam pemrograman.

Sebelum saya tutup, ini adalah sedikit humor pemrograman: Mengapa pemrogram memilih mode gelap? Karena cahaya menarik nyamuk! ?

Selamat coding, dan may the range be with you!

Credits: Image by storyset