# Go Harita
Go haritalar (maps) dersini işliyoruz.
Harita, anahtar ve değer çiftlerinden oluşan bir koleksiyondur. Dizilerde verileri sadece index numaralarıyla tutabilirken map
kullanımında indexler yerine anahtar değerler atayabiliriz.
Harita (map) veri tipini kullanabilmek için önce haritayı oluşturmalı, ardından başlatmalıyız.
var x map[string]int // map oluşturma
x = make(map[string]int) // map başlatma
Örnek olarak anahtar tipini string
, değer tipini int
ayarladıktan sonra artık elemanları oluşturmaya başlayabilirsiniz.
x["sayi"] = 10
x["adet"] = 55
fmt.Println(x) // map[adet:55 sayi:10]
Gördüğünüz gibi dizilerden farklı olarak indexler yerine istediğimiz değerleri kullanarak key oluşturabiliyoruz.
1. Harita Elemanlarına Erişim
Anahtar ve değer çiftiyle oluşturduğumuz haritalarda yer alan elemanlara sadece anahtarı kullanarak erişebiliriz.
package main
import (
"fmt"
)
func main() {
var ogrenci map[string]string
ogrenci = make(map[string]string)
ogrenci["ad"] = "Deniz"
ogrenci["soyad"] = "Barış"
ogrenci["cinsiyet"] = "E"
fmt.Println(ogrenci["ad"]) // Deniz
fmt.Println(ogrenci["soyad"]) // Barış
fmt.Println(ogrenci["cinsiyet"]) // E
}
2. Harita Elemanını Silmek
Haritadan bir elemanı silmek için delete() fonksiyonunu anahtar değer ile beraber kullanabilirsiniz.
var ogrenci map[string]string
ogrenci = make(map[string]string)
ogrenci["ad"] = "Deniz"
ogrenci["soyad"] = "Barış"
ogrenci["cinsiyet"] = "E"
delete(ogrenci,"cinsiyet")
fmt.Println(ogrenci) // map[ad:Deniz soyad:Barış]
3. Haritada Bir Anahtarın Olup Olmadığını Kontrol Etmek
Haritada anahtarın olup olmadığını kontrol edebiliriz. Eğer ilgili anahtara sahip bir değer varsa true, yoksa false döner.
var ogrenci map[string]string
ogrenci = make(map[string]string)
ogrenci["ad"] = "Deniz"
ogrenci["soyad"] = "Barış"
deger1, kontrol1 := ogrenci["cinsiyet"]
deger2, kontrol2 := ogrenci["ad"]
fmt.Println("Mevcut mu?",kontrol1,"Değeri:",deger1)
// Mevcut mu? false Değeri:
fmt.Println("Mevcut mu?",kontrol2,"Değeri:",deger2)
// Mevcut mu? true Değeri: Deniz
Last updated
Was this helpful?