Map Yapısı: Anahtar-Değer Çiftleri ile Veri Depolama

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Top Poster Of Month
Katılım
7 Ocak 2026
Mesajlar
234
Tepkime puanı
2
Puanları
18

Hızlı Erişim​

Verileri bir liste halinde değil de, bir sözlük gibi "Anahtar" (Key) ve "Değer" (Value) ilişkisiyle saklamak istersek Map kullanırız. Python'daki dict, Java'daki HashMap veya PHP'deki Associative Array yapısının Go'daki karşılığıdır.

Map Tanımlama ve Kullanma​

Map'ler referans tipleridir, kullanmadan önce make ile oluşturulmalıdır.

Kod:
package main

import "fmt"

func main() {// Key: string, Value: string olan bir mapbaskentler := make(map[string]string)

// Veri Ekleme<br>baskentler["Türkiye"] = "Ankara"<br>baskentler["Fransa"] = "Paris"<br>baskentler["İtalya"] = "Roma"<br><br>// Veri Okuma<br>fmt.Println("Türkiye'nin Başkenti:", baskentler["Türkiye"])<br><br>// Map'i yazdırma (Sırasızdır!)<br>fmt.Println(baskentler)<br>
}

Silme ve "Var mı?" Kontrolü (​

Olmayan bir anahtarı isterseniz Go hata vermez, o tipin sıfır değerini (string için boşluk) döndürür. Bu bazen tehlikelidir. Anahtarın gerçekten var olup olmadığını anlamak için çift geri dönüş değeri kullanılır.

Kod:
func main() {puanlar := map[string]int{"Ali": 90, "Veli": 80}

// Veri Silme<br>delete(puanlar, "Veli")<br><br>// Kontrol etme: "deger" veriyi, "varMi" ise bool (true/false) tutar<br>not, varMi := puanlar["Mehmet"]<br><br>if varMi {<br>    fmt.Println("Mehmet'in notu:", not)<br>} else {<br>    fmt.Println("Mehmet listede yok.")<br>}<br>
}

Sonuç​

Map'ler veri aramada çok hızlıdır. Ancak unutmayın, Map içindeki verilerin sırası garanti edilmez. Her çalıştırdığınızda farklı sırada ekrana basılabilir.
 
Geri
Üst