Menu
CoddyTech

Map'leri Karşılaştırma

Coddy'nin GO Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 29 / 68.

Go'daki diğer birçok veri türünden farklı olarak, map'lerin kendilerine özgü bir kısıtlaması vardır: == operatörü kullanılarak doğrudan karşılaştırılamazlar. Bu kuralın tek istisnası, bir map'in nil ile karşılaştırılmasıdır.

Bu, bunun gibi kodların derlenmeyeceği anlamına gelir:

map1 := map[string]int{"a": 1, "b": 2}
map2 := map[string]int{"a": 1, "b": 2}

// Bu, bir derleme hatasına neden olur!
if map1 == map2 {
    fmt.Println("Maps are equal")
}

Ancak, bir map'i nil ile güvenle karşılaştırabilirsin:

var myMap map[string]int
if myMap == nil {
    fmt.Println("Map is nil")
}

İki map'in aynı anahtar-değer çiftlerini içerip içermediğini kontrol etmeniz gerektiğinde, her iki map üzerinde yineleme yapan ve her öğeyi ayrı ayrı karşılaştıran özel bir işlev yazmalısınız. Bu yaklaşım, karşılaştırma mantığı üzerinde tam kontrol sahibi olmanızı sağlar ve özel kullanım durumunuz için “eşit”in tam olarak ne anlama geldiğini tanımlamanıza olanak tanır.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Go derleyicisi