unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Map

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.

« Slice
Date Time »