Map #
Map dalam bahasa pemrograman Golang adalah tipe data yang digunakan untuk menyimpan koleksi pasangan kunci-nilai (key-value). Map sangat berguna ketika Anda perlu mencari nilai berdasarkan kunci unik. Berikut penjelasan tentang tipe map dan berbagai operasi yang dapat dilakukan pada map di Golang:
Deklarasi dan Inisialisasi Map #
Map dapat dideklarasikan dan diinisialisasi dengan menggunakan kata kunci make
atau literal map.
// Menggunakan make
var m map[string]int
m = make(map[string]int)
// Menggunakan literal map
m := map[string]int{
"one": 1,
"two": 2,
}
Menambahkan dan Memperbarui Elemen #
Anda dapat menambahkan atau memperbarui elemen dalam map dengan mengakses kunci dan menetapkan nilai baru.
m["three"] = 3 // Menambahkan elemen
m["one"] = 10 // Memperbarui elemen
Mengakses Elemen #
Anda dapat mengakses elemen dalam map menggunakan kunci. Jika kunci tidak ada, map akan mengembalikan nilai nol dari tipe data nilai.
value := m["one"]
fmt.Println(value) // Output: 10
Memeriksa Keberadaan Kunci #
Anda dapat memeriksa apakah suatu kunci ada dalam map dengan menggunakan dua nilai yang dikembalikan saat mengakses map.
value, exists := m["two"]
if exists {
fmt.Println("Key exists with value:", value)
} else {
fmt.Println("Key does not exist")
}
Menghapus Elemen #
Fungsi delete
digunakan untuk menghapus elemen dari map berdasarkan kunci.
delete(m, "two")
Menghitung Panjang Map #
Fungsi len
digunakan untuk mendapatkan jumlah pasangan kunci-nilai dalam map.
fmt.Println("Length of map:", len(m)) // Output: Length of map: 2
Iterasi melalui Map #
Anda dapat menggunakan loop for range
untuk iterasi melalui semua pasangan kunci-nilai dalam map.
for key, value := range m {
fmt.Printf("Key: %s, Value: %d\n", key, value)
}
Contoh Lengkap Penggunaan Map #
package main
import "fmt"
func main() {
// Deklarasi dan inisialisasi map
m := map[string]int{
"one": 1,
"two": 2,
}
// Menambahkan dan memperbarui elemen
m["three"] = 3 // Menambahkan elemen
m["one"] = 10 // Memperbarui elemen
// Mengakses elemen
value := m["one"]
fmt.Println(value) // Output: 10
// Memeriksa keberadaan kunci
value, exists := m["two"]
if exists {
fmt.Println("Key exists with value:", value)
} else {
fmt.Println("Key does not exist")
}
// Menghapus elemen
delete(m, "two")
// Menghitung panjang map
fmt.Println("Length of map:", len(m)) // Output: Length of map: 2
// Iterasi melalui map
for key, value := range m {
fmt.Printf("Key: %s, Value: %d\n", key, value)
}
}
Penggunaan Map dengan Tipe Data Kompleks #
Map dapat menggunakan tipe data yang lebih kompleks, seperti struct, sebagai kunci atau nilai.
type Person struct {
Name string
Age int
}
func main() {
// Map dengan struct sebagai nilai
people := map[string]Person{
"Alice": {"Alice", 30},
"Bob": {"Bob", 25},
}
// Menambahkan elemen baru
people["Charlie"] = Person{"Charlie", 35}
// Mengakses elemen
fmt.Println(people["Alice"])
// Iterasi melalui map
for key, person := range people {
fmt.Printf("Key: %s, Value: %+v\n", key, person)
}
}
Kesimpulan #
Dengan memahami map dan berbagai operasi yang dapat dilakukan, Anda dapat mengelola dan memanipulasi data dengan cara yang efisien dan terstruktur dalam program Golang. Map sangat berguna untuk pencarian cepat dan penyimpanan data yang berpasangan.