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)