Map pada golang merupakan sebuah tipe data yang bersifat asosiatif yang menampung data dengan menggunakan key dan value. Mirip seperti array, map menggunakan key untuk menampung data. Apabila Array menggunakan angka sebagai key, pada map kita dapat menggunakan string sebagai key.
contoh : mapA["key"] = "iniValuenya"
Mendeklarasikan Map pada Golang
Kamu dapat mendeklarasikan sebuah map dengan cara menginisiasikan tipe data pada key dan juga valuenya :
map[tipeKey]tipeValue
Tipe Key dan Tipe Value pada map boleh kamu bedakan tipe datanya, misal pada key tipe datanya string, sedangkan tipe data pada value adalah int.
map[string]int
- Literal
- Make
Menggunakan teknik literal
Teknik literal adalah teknik yang biasa dipake ketika mendeklarasikan sebuah map, atau dapat dikatakan cara ini merupakan cara tradisional:
map[string]int{}
gajiKaryawan := map[string]int{}
Syntax di atas merupakan cara mendeklarasikan map dengan cara literal. Kemudian untuk mendeklarasikan isi dari map, kita dapat menggunakan cara dibawah ini :
gajiKaryawan := map[string]int { "angga" : 8000000, "adji" : 15000000, "surya" : 6500000 }
Menambahkan nilai pada map
Kamu juga dapat menambahkan nilai pada map di tengah tengah program, contoh :
gajiKaryawan["uwu"] = 5000000
Key “uwu” akan secara otomatis ditambahkan pada map, dengan isian value 5000000.
contoh program

Menggunakan keyword Make
menggunakan Make adalah cara lain untuk mendeklarasikan sebuah map. Keywod make merupakan fungsi bawaan bahasa pemrograman golang yang dapat digunakan untuk membuat map. Function ini akan mengembalikan inisialisasi map.
contoh program

Tipe Data yang diperbolehkan pada Map
Kamu bisa memasukan tipe data apapun ketika mendeklarasikan sebuah map, seperti :
- Bool
- Integer
- Double
- String
- Channel
- Interface
- Struct ( dengan catatan, tipe data field sama dengan tipe data value pada map )
- Array ( dengan catatan, tipe data array sama dengan tipe data value pada map )
Tipe data yang tidak diperbolehkan pada map
Berikut adalah beberapa tipe data yang tidak boleh dideklarasikan pada sebuah map, diantaranya adalah :
- Slice
- Function
- Map
Operasi pada Map Golang
- Menambah Key Value
- Mengganti Value pada Key
- Memanggil Value pada Key
- Menghapus Key Value
- Checking ( if exist )
Menambah Key Value
Pada contoh program sebelumnya, kita telah mecoba menambah key value pada map, yaitu dengan menggunakan :
mapName[key] = value
contoh program :

Mengganti Value pada Key
Untuk mengganti value pada golang caranya mirip seperti menambahkan key value yang dibahas sebelumnya. Perbedaanya ialah kita akan menggunakan key yang akan diganti.
contoh program :

Memanggil Value pada Key
Memanggil value melalui key, juga telah kita coba pada program sebelumnya, yaitu pada program dengan teknik literal di atas.
contoh program :

Menghapus key value
Untuk menghapus key value pada map, kamu dapat menggunakan syntax berikut :
delete(namaMap, key)
contoh program :

Checking ( if exist )
Fungsi ini dapat membantu kita untuk mengetahui, apakah key yang kita cari ada pada map, atau tidak. Kita dapat memanfaatkan checking ketika melakukan operasi map. Misal kita akan melakukan delete key value, kita dapat melakukan checking dahulu apakah key benar benar ada atau tidak.
checking akan mereturn berupa bolean yang bernilai true atau false.
contoh program :

Pada Kode diatas, kita menggunakan val dan exist ketika checking, Val berfungsi untuk menampung nilai daripada key yang di check, sedangkan exist akan menampung boolean hasil dari checking key pada map.
Mungkin sekian penjelasan mengenai Map. Pada materi selanjutnya kita akan mempelajari mengenai Function pada bahasa pemrograman golang. Terimakasih dan sampai jumpa