Membandingkan Map
Termasuk bagian Logika & Alur dalam perjalanan GO di Coddy. Pelajaran 29 dari 68.
Tidak seperti banyak tipe data lain di Go, map memiliki batasan khusus: map tidak dapat dibandingkan secara langsung menggunakan operator ==. Satu-satunya pengecualian untuk aturan ini adalah saat membandingkan map dengan nil.
Artinya, kode seperti ini tidak akan dikompilasi:
map1 := map[string]int{"a": 1, "b": 2}
map2 := map[string]int{"a": 1, "b": 2}
// Ini akan menyebabkan error saat compile!
if map1 == map2 {
fmt.Println("Maps are equal")
}Namun, kamu dapat membandingkan map dengan nil dengan aman:
var myMap map[string]int
if myMap == nil {
fmt.Println("Map is nil")
}Saat kamu perlu memeriksa apakah dua map berisi pasangan kunci-nilai yang sama, kamu harus menulis fungsi khusus yang melakukan perulangan melalui kedua map dan membandingkan setiap elemen satu per satu. Pendekatan ini memberimu kendali penuh atas logika perbandingan, sehingga kamu dapat menentukan dengan tepat apa arti "sama" untuk kasus penggunaan spesifikmu.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
1Alur Kontrol Lanjutan
switch dengan `fallthrough`Keluar dari Perulangan BersarangMelanjutkan Perulangan TertentuPernyataan `goto`Rangkuman, Kontrol Perulangan Lanjutan4Proyek: Daftar Tugas Sederhana
Menyiapkan ProyekMenambahkan Tugas2Struct dan Method
Mendefinisikan Method pada StructPenerima NilaiPenerima PointerMemilih PenerimaMethod vs FungsiRekap: Perilaku Struct5Map secara Mendalam
Map Berisi StructPointer sebagai Nilai MapMenguji Map NilMembandingkan MapRingkasan: Penghitung Frekuensi Kata8Proyek: Inventaris Sederhana
Gambaran Umum ProyekMemeriksa Stok3Interface (Dasar)
Apa Itu Interface?Mendefinisikan InterfaceMengimplementasikan InterfaceMenggunakan Tipe InterfaceInterface KosongType AssertionType SwitchRingkasan: Bentuk dan PerilakuLatihan sendiri: Compiler Go online