Junior — Middle
Map kapsayıcısında anahtar olarak hangi veri türleri kullanılabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da, bir haritadaki anahtar yalnızca karşılaştırılabilir (karşılaştırılabilir) veri türleri olabilir. Bu, anahtar için == operatörünün tanımlanmış olması gerektiği anlamına gelir.
Uygun anahtar türleri:
- Boolean değerler (
bool) - Sayılar (
int,float64,uint8vb.) - Dizgeler (
string) - İşaretçiler
- Kanallar
- Dinamik tür karşılaştırılabilir ise arayüzler
- Tüm alanları karşılaştırılabilir olan yapılar
Anahtar olarak kullanılamaz:
- Dilimler (
slice) - Haritalar (
map) - Fonksiyonlar
Örnek:
m := make(map[string]int)
m["key"] = 42
// Karşılaştırılabilir alanlara sahip yapı
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Bir nokta"
Karşılaştırılamayan bir türü anahtar olarak kullanmaya çalışırsanız, derleyici hata verir.