Sobes.tech
Junior — Middle

Dizi dizilerini Map koleksiyonunda anahtar olarak kullanabilir miyiz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da, map koleksiyonundaki anahtarlar yalnızca karşılaştırma işlemini == destekleyen türler olabilir. Go'da diziler, elemanlar bazında karşılaştırılabilir, bu nedenle sabit uzunluktaki diziler anahtar olarak kullanılabilir.

Örnek:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "örnek"
    fmt.Println(m[key]) // Çıktı: örnek
}

Ancak, dilimler ([]int) anahtar olarak kullanılamaz çünkü karşılaştırılamazlar. Eğer dilimlere dayalı anahtarlar içeren bir koleksiyon gerekiyorsa, bunları string'e veya başka karşılaştırılabilir bir türe dönüştürmelisiniz.