DEV Community

Aydın Yakar
Aydın Yakar

Posted on • Edited on

Golang 101: Range

Dizi, Kesit ve Harita verilerinden indis, anahtar ve değer çekmek için for döngüsü ile birlikte range kullanılır.

package main import "fmt" func main() { // Kesitteki Sayıları Toplama kesit := []int{1, 2, 3, 4} toplam := 0 for _, sayi := range kesit { toplam += sayi } fmt.Println("Toplam:", toplam) // Değerin Indis'ini Bulmak for indis, deger := range kesit { if deger == 3 { fmt.Println("Indis:", indis) } } // Harita'dan Anahtar/Değer Alma iller := map[string]string{"m": "mersin", "a": "antalya"} for k, v := range iller { fmt.Printf("%s -> %s\n", k, v) } // Sadece Anahtar Verisin Almak for k := range iller { fmt.Println("Anahtar:", k) } } 
Enter fullscreen mode Exit fullscreen mode
Toplam: 10 Indis: 2 m -> mersin a -> antalya Anahtar: m Anahtar: a 
Enter fullscreen mode Exit fullscreen mode

çalıştır!

Kesitteki Sayıları Toplama

 kesit := []int{1, 2, 3, 4} toplam := 0 for _, sayi := range kesit { toplam += sayi } fmt.Println("Toplam:", toplam) 
Enter fullscreen mode Exit fullscreen mode

Kesitteki sayıları range ile her döngü de sırayla indis (_) ve deger (sayi) atamalarını yaparak toplamını buluyoruz. Indis numarasına ihtiyacımız olmadığı için _ boş tanımlayıcı (blank identifier) kullandık.

Değerin Indis'ini Bulmak

 for indis, deger := range kesit { if deger == 3 { fmt.Println("Indis:", indis) } } 
Enter fullscreen mode Exit fullscreen mode

Değeri 3 olan değişkenin indis değerini bulup yazdırıyoruz.

Harita'dan Anahtar/Değer Alma

 iller := map[string]string{"m": "mersin", "a": "antalya"} for k, v := range iller { fmt.Printf("%s -> %s\n", k, v) } 
Enter fullscreen mode Exit fullscreen mode

Harita dizisinden anahtar ve değeri ekrana yazdırıyoruz.

Anahtar Verisi Almak

 for k := range iller { fmt.Println("Anahtar:", k) } 
Enter fullscreen mode Exit fullscreen mode

Range ile tek değişken verildiğinde map'tan anahtar verisi dönmektedir.

Top comments (0)