Panduan Komprehensif tentang Range
dalam Go untuk Pemula
Hai, para pemrogram yang sedang mencari ilmu! Hari ini, kita akan mengemban sebuah perjalanan menarik ke dunia pemrograman Go, khususnya fokus pada kata kunci range
. Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya di sini untuk mengarahkan Anda melalui konsep ini dengan banyak contoh dan penjelasan. Jadi, ambil minumannya yang favorit, nyaman di kursi Anda, dan mari kita masuk ke dalam!
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 mengulang berbagai jenis data termasuk array, slice, map, string, dan channel. Berikan perhatian kepada itu seperti sebuah pisau瑞士军刀 untuk mengulang kumpulan data.
Sintaks Range
Sintaks dasar dari range
sangat sederhana:
for index, value := range collection {
// Kode Anda di sini
}
Di sini, index
memberikan Anda posisi elemen, dan value
memberikan Anda elemen itu sendiri. Tetapi jangan khawatir jika ini terlihat abstrak untuk 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, Buah: %s\n", index, fruit)
}
}
Ketika Anda menjalankan kode ini, Anda akan melihat:
Index: 0, Buah: apple
Index: 1, Buah: banana
Index: 2, Buah: cherry
apa yang terjadi di sini? Kata kunci range
membantu kita mengulang array fruits
. Untuk setiap iterasi, itu memberikan kita indeks dan nilai (nama buah) pada 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 bukan indeks. Anda dapat menggunakan identifier kosong _
untuk mengabaikan indeks:
for _, fruit := range fruits {
fmt.Printf("Buah: %s\n", fruit)
}
Range dengan Maps
Map dalam Go seperti petak Harta Karun penuh dengan pasangan kunci-nilai. Mari kita lihat bagaimana range
bekerja dengannya:
package main
import "fmt"
func main() {
ages := map[string]int{
"Alice": 25,
"Bob": 30,
"Charlie": 35,
}
for name, age := range ages {
fmt.Printf("%s berumur %d tahun\n", name, age)
}
}
Output:
Alice berumur 25 tahun
Bob berumur 30 tahun
Charlie berumur 35 tahun
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 mengulangnya:
package main
import "fmt"
func main() {
message := "Hello, 世界"
for index, runeValue := range message {
fmt.Printf("Index: %d, Karakter: %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 penggunaan range
:
Tipe Data | Sintaks | 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 itu adalah, teman-teman! Kita telah mengambil sebuah perjalanan besar melalui kata kunci range
di Go. Dari array ke map, string ke channel, range
adalah teman andalan Anda untuk mengulang struktur data dalam Go.
Ingat, latihan membuat sempurna. Cobalah menulis program Anda sendiri menggunakan range
dengan jenis data yang berbeda. Coba, buat kesalahan, dan belajar dari mereka. Itu adalah cara terbaik untuk menjadi ahli dalam pemrograman.
Sebelum saya menutup, 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