Menu
CoddyTech

Peta

Pelajaran 17 dari 21 dalam kursus Slice dan Map di Go di Coddy.

Map adalah tipe koleksi, sama seperti array dan slice. Map menyimpan data dalam pasangan kunci-nilai dan memungkinkan pencarian nilai dengan cepat.

Sintaks untuk mendeklarasikan map adalah sebagai berikut:

products := map[string]int{}

Sama seperti saat mendeklarasikan variabel untuk array dan slice, kita dapat menggunakan deklarasi singkat (:=) atau kata kunci var yang diikuti nama, lalu kata kunci map. Di dalam tanda kurung siku, kita menentukan tipe kunci, lalu menentukan tipe nilai atau tipe elemen.

 

Slice dan array juga merupakan tipe kunci-nilai, tetapi kuncinya hanya berupa indeks. Dalam map, kita dapat menggunakan tipe apa pun sebagai kunci selama tipe tersebut dapat dibandingkan. Biasanya, tipe yang digunakan adalah int dan string.

Semua elemen dalam map harus memiliki tipe yang sama. Kamu tidak dapat mencampur tipe dalam satu map.

Mari inisialisasi map kita:

products := map[string]int{
   "iPhone": 1200,
   "MacBook": 4000,
   "Keyboard": 400,
}

Sama seperti pada slice dan array, kita dapat mengakses elemen menggunakan kunci. Dalam hal ini, kuncinya adalah yang telah kita tentukan untuk setiap elemen. Misalnya, untuk mendapatkan harga keyboard:

fmt.Println("The Price of Keyboard:", products["Keyboard"])

Output:

The Price of Keyboard: 400

Kita dapat mencetak semua elemen map, seperti pada slice:

fmt.Println(products)

Hasilnya adalah:

map[iPhone:1200 MacBook:4000 Keyboard:400]

 

challenge icon

Tantangan

Mudah

Kita memiliki sekumpulan buku, masing-masing dengan jumlah halaman yang berbeda, sebagai berikut:

  • Buku Python memiliki 300 halaman
  • Buku Golang memiliki 400 halaman
  • Buku Rust memiliki 500 halaman

Implementasikan ini menggunakan map dan cetak jumlah halaman buku Golang ke layar.

Coba sendiri

package main

import "fmt"

func main() {
    // Definisikan sebuah map 
    

    // Tampilkan jumlah halaman buku Golang
     
}

Semua pelajaran di Slice dan Map di Go

Latihan sendiri: Compiler Go online