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!

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
