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!

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 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