Tambahkan dan Hapus Elemen
Pelajaran 19 dari 21 dalam kursus Slice dan Map di Go di Coddy.
Map di Golang berfungsi seperti array dan slice. Untuk menambahkan elemen baru ke map, kita menggunakan sintaks yang sama seperti array, kecuali di map kita menentukan key dan nilai. Misalnya, anggap kita memiliki map seperti ini:
var books = map[string]int{
"Python": 1,
"JavaScript": 2,
"Rust": 3,
}Untuk menambahkan elemen baru, kita melakukannya seperti ini:
books["Golang"] = 4Jika kita mencetak map, Golang seharusnya terlihat di sana:
map[Golang:4 JavaScript:2 Python:1 Rust:3]Kamu mungkin menyadari bahwa map tidak mengurutkan elemennya. Ini karena map tidak terlalu memedulikan urutan elemen, map mengutamakan performa saat mengambil hasil dengan cepat.
Perlu diingat bahwa saat menambahkan elemen baru ke map, kita harus menggunakan tipe yang sama dengan tipe nilai map.
Misalnya, kita tidak bisa melakukan ini:
books["Golang"] = "Learn Golang"Karena nilai dalam map asli bertipe integer, bukan bertipe string.
Sekarang kita sudah mempelajari cara menambahkan dan mendapatkan elemen, bagaimana jika kita perlu menghapus elemen dari map?
Untuk itu, ada fungsi bawaan bernama delete. Sintaksnya sebagai berikut:
Misalkan kita perlu menghapus elemen pertama, yaitu "Python":
delete(books, "Python")Kita menggunakan kata kunci delete, lalu di antara tanda kurung kita menuliskan nama map dan key yang ingin kita hapus. Dalam kasus ini, key-nya adalah "Python".
Tantangan
MudahDalam kode yang diberikan, kita mendefinisikan map dengan 6 elemen. Lakukan langkah-langkah berikut:
- Tambahkan elemen baru dengan kunci 6 dan nilai "orange".
- Hapus elemen dengan kunci 10.
- Gunakan for loop untuk mencetak map secara berurutan, mulai dari 1 hingga akhir.
Coba sendiri
package main
import "fmt"
func main() {
// Definisikan map dengan 6 elemen, jangan ubah ini!
fruits := map[int]string{
1: "apple",
2: "banana",
3: "cherry",
4: "date",
5: "elderberry",
10: "fig",
}
// Tambahkan elemen baru dengan kunci 6 dan nilai "orange"
// Hapus elemen dengan kunci 10
// Gunakan for loop untuk mencetak map secara berurutan dari 1 hingga akhir
}Semua pelajaran di Slice dan Map di Go
1Pengantar
PengantarLatihan sendiri: Compiler Go online