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)