Menu
CoddyTech

Mapler Üzerinde Yineleme

Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası. Ders 92 / 109.

range anahtar sözcüğü, bir haritadaki tüm anahtar-değer çiftleri üzerinde gezinmenizi sağlar. Her kayıt için hem anahtarı hem de değeri döndürür.

Meyve stokunun bir haritasını oluştur:

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

Sonuç her anahtar-değer çiftini gösterir:

apples: 5
bananas: 8
oranges: 12

Go, range ifadesinin harita girdilerini hangi sırayla ziyaret edeceğini garanti etmez; bu nedenle döngü her çalıştığında bu satırlar farklı bir sırada çıkabilir.

Yalnızca anahtarlara ihtiyacın varsa ikinci değişkeni atlayabilirsin:

for fruit := range inventory {
    fmt.Println(fruit)
}
challenge icon

Görev

Başlangıç

Bu görevde, Go'da range anahtar sözcüğünü kullanarak bir map üzerinde yineleme yapmayı öğreneceksin. Senin için öğrenci notlarından oluşan bir map oluşturuldu. Görevin, map üzerinde yineleme yapmak ve her öğrencinin adını ve notunu yazdırmak.

studentGrades map'i üzerinde yineleme yapıp her öğrencinin adını ve notunu şu biçimde yazdırmak için kodu tamamla: Student: [name], Grade: [grade]

Kendin dene

package main

import (
	"fmt"
	"sort"
)

func main() {
	// Öğrenci notlarını içeren bir map
	studentGrades := map[string]string{
		"Alice":  "A",
		"Bob":    "B",
		"Charlie": "B+",
		"David":  "A-",
		"Eva":    "C",
	}

	// Öğrenci adlarını (anahtarları) sıralamak için bir slice içine topla
	var names []string
	for name := range studentGrades {
		names = append(names, name)
	}
	sort.Strings(names)


	// TODO: Sıralanmış öğrenci adları listesi üzerinde yineleme yap
	// ve her öğrencinin adını ve notunu şu biçimde yazdır:
	// "Student: [name], Grade: [grade]"
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online Go derleyicisi