Haritalar (map) diziden (array) ve kesitten (slice) farklı olarak degisken["anahtar"] = değer şeklinde anahtar (key) verisinin türünü de belirlemenize imkan tanır. Böylelikle string bir anahtar tanımlayabilirsiniz. Hatırlarsanız dizi ve kesitte degisken[indis]=deger şeklinde anahtar yerine indis (index) numerik ve sıralı olarak oluşturuluyordu.
package main
import "fmt"
func main() {
    // Boş Map Tanımlama
    h := make(map[string]int)
    // Değer Atama
    h["k1"] = 7
    h["k2"] = 13
    fmt.Println("Harita:", h)
    x := h["k1"]
    fmt.Println("x: ", x)
    fmt.Println("Boyut:", len(h))
    // Öğeyi Silme
    delete(h, "k2")
    fmt.Println("Yeni Harita:", h)
    fmt.Println("Yeni Boyut:", len(h))
    _, prs := h["k2"]
    fmt.Println("Mevcut mu:", prs)
    // Tanımlama ve Değer Atama
    n := map[string]int{"go": 1, "lang": 2}
    fmt.Println("Harita2:", n)
}
Harita: map[k1:7 k2:13]
x:  7
Boyut: 2
Yeni Harita: map[k1:7]
Yeni Boyut: 1
Mevcut mu: false
Harita2: map[go:1 lang:2]
Boş Map Tanımlama
    h := make(map[string]int)
Boş bir map tanımlamak için slice'da olduğu gibi make() fonksiyonu kullanılır. Örnekte anahtar (key) değeri string, değer (value) türü ise integer'dır.
Değer Atama
    h["k1"] = 7
    h["k2"] = 13
    fmt.Println("Harita:", h)
    x := h["k1"]
    fmt.Println("x: ", x)
    fmt.Println("Boyut:", len(h))
Oluşturulan değişkenin anahtar değerlerinin (k1, k2) ve değerlerinin (7, 13) atanması görülmektedir. Akabinde ise x değişkenine k1 anahtarına sahip değişkenin değerini atamakta ve son olarak da len ile mevcut eleman sayısı ekrana yazdırılmaktadır.
Öğeyi Silme
    delete(h, "k2")
    fmt.Println("Yeni Harita:", h)
    fmt.Println("Yeni Boyut:", len(h))
    _, prs := h["k2"]
    fmt.Println("Mevcut mu:", prs)
Map'ten delete() fonksiyonu ile belirtilen anahtarı ve değerini silebilirsiniz. Silinen anahtarı kontrol için de _, prs := h["k2"] ile değerini (örnekte: 0) ve varlık durumu bool olarak alabilirsiniz. Böylelikle değerin varlığını kontrol edebilirsiniz. Örnekte silinen anahtarın değeri olmadığından 0 alırken varlık durumu false olarak döner.
Golang'de _ (alt çizgi) özel bir boş tanımlayıcıdır. Herhangi bir işlemde kullanılmayacak değerler bu değişkene atanır.
Tanımlama ve Değer Atama
    n := map[string]int{"go": 1, "lang": 2}
Map tanımlamlarken değer de yukarıdaki örnekte olduğu gibi atanabilir.
 

 
    
Top comments (0)