#15 Tipe Data Map - Belajar Golang Dari Dasar

By Rizky Kurniawan - July 3, 2022 ~3 mins read
Artikel ini merupakan bagian dari seri Belajar Golang Dari Dasar

Tipe Data Map

Map adalah tipe data key-value pairs (pasangan kunci - nilai). Map digunakan karena memberikan cara yang cepat untuk mengambil nilai berdasarkan key. Oleh karena itu key pada tipe data map harus unik.

Tidak seperti array dan slice, kita bisa memasukkan data ke dalam map sebanyak-banyaknya asalkan memiliki kata kunci yang berbeda. Apabila kita tidak sengaja menggunakan kata kunci yang sama, maka data sebelumnya akan diganti dengan data yang baru.

Membuat Map

Untuk membuat map, kita bisa menggunakan kata kunci map. Perhatikan potongan kode berikut ini.

package main

import "fmt"

func main() {
    website := map[string]string{
        "name": "Ruang Developer",
        "domain": "www.ruangdeveloper.com",
    }

    fmt.Println(website)
}

output:

map[domain:www.ruangdeveloper.com name:Ruang Developer]

String yang ada dalam square brackets (kurung kotak) merupakan tipe data key pada map. Oleh karena itu, kita menggunakan string "name" dan "domain" sebagai kata kuncinya.

Kemudian string berikutnya merupakan tipe data untuk value pada map. Oleh karena itu, kita harus mengisinya dengan string juga.

Mengakses Data Pada Map

Untuk mengakses data pada map caranya hampir sama seperti pada array dan slice. Bedanya kita dapat menggunakan key sebagai referensinya. Perhatikan potongan kode berikut ini.

package main

import "fmt"

func main() {
    website := map[string]string{
        "name": "Ruang Developer",
        "domain": "www.ruangdeveloper.com",
    }

    fmt.Println(website["name"])
    fmt.Println(website["domain"])
}

output:

Ruang Developer
www.ruangdeveloper.com

Menambah Dan Merubah Data pada Map

Untuk menambah atau merubah data pada map caranya adalah sama, kita bisa menentukan key yang ingin di tambahkan atau dirubah, kemudian diberi nilai menggunakan operator assignment (=). Apabila key yang kita masukkan belum ada dalam map maka otomatis akan menambahkan data baru. Sedangkan, apabila key yang kita masukkan sudah ada, maka secara otomatis akan merubah data yang sudah ada sebelumnya.

package main

import "fmt"

func main() {
    website := map[string]string{
        "name": "Ruang Developer",
        "domain": "www.ruangdeveloper.com"
    }

    // Menambahkan data tagline
    website["tagline"] = "Ruang belajar kita semua"

    // Merubah data domain
    website["domain"] = "domain.ruangdeveloper.com"

    fmt.Println(website["tagline"])
    fmt.Println(website["domain"])
}

output:

Ruang belajar kita semua
domain.ruangdeveloper.com

Fungsi Pada Tipe Data Map

Seperti tipe data lainnya, map juga memiliki beberapa fungsi yang dapat kita gunakan untuk memanipulasi data map. Berikut ini adalah beberapa fungsi yang dapat kita gunakan pada map.

Fungsi Keterangan
len(map) Menghitung jumlah data yang ada di dalam map
map[key] Mengambil data berdasarkan kata kunci key
map[key] = value Menambah atau merubah data di map
make(map[TypeKey]TypeValue) Membuat map baru
delete(map, key) Menghapus data di map berdasarkan kata kunci key

Membuat Map Menggunakan Fungsi make

Untuk membuat map menggunakan kata kunci make perhatikan contoh kode berikut ini.

package main

import "fmt"

func main() {
    website := make(map[string]string)

    website["name"] = "Ruang Developer"
    website["domain"] = "www.ruangdeveloper.com"

    fmt.Println(website)
}

output:

map[domain:www.ruangdeveloper.com name:Ruang Developer]

Menghapus Data Pada Map

Untuk menghapus data pada map kita bisa menggunakan fungsi delete. Perhatikan contoh kode beriktu ini.

package main

import "fmt"

func main() {
    website := make(map[string]string)

    website["name"] = "Ruang Developer"
    website["domain"] = "www.ruangdeveloper.com"
    fmt.Println(website)

    // Menghapus data domain
    delete(website, "domain")
    fmt.Println(website)
}

output:

map[domain:www.ruangdeveloper.com name:Ruang Developer]
map[name:Ruang Developer]

Tambahan

Saat membuat map dan langsung mengisi datanya, jangan lupa untuk menambahkan koma pada ujung setiap data hingga data yang terakhir. Golang akan menganggap error apabila tidak ada koma.

Ini error

person := map[string]string{
    "name": "Rizky",
    "address": "Subur Indah" // kurang koma di ujung
}

Ini tidak error

person := map[string]string{
    "name": "Rizky",
    "address": "Subur Indah", // ada koma di ujung
}

Berikutnya: #16: If Expression - Belajar Golang Dari Dasar

Tags: #golang
Bagikan:

Ingin Berdiskusi?

Yuk bergabung di Grup Telegram Ruang Developer atau mulai diskusi melalui GitHub. See You!

Dapatkan contoh source code project backend, frontend, atau fullstack untuk kamu amati, tiru, dan modifikasi sesuka hati. Klik untuk melihat detail!
comments powered by Disqus

Berlangganan Gratis

Kamu akan menerima email update dari Ruang Developer

Beri Dukungan

Beri dukungan, dapatkan full source code project web untuk bahan referensi, tiru, dan modifikasi.
Lightbox