Menu
Coddy logo textTech

Mapler Üzerinde Yineleme

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

range anahtar kelimesi, bir map içindeki tüm anahtar-değer çiftleri üzerinde yineleme yapmanızı sağlar. Her giriş için hem anahtarı hem de değeri döndürür.

Bir meyve envanteri haritası oluşturun:

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

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

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

apples: 5
bananas: 8
oranges: 12

Yalnızca anahtarlara ihtiyacınız varsa, ikinci değişkeni atlayabilirsiniz:

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

Görev

Başlangıç

Bu meydan okumada, Go'da range anahtar kelimesini kullanarak bir map üzerinde yineleme yapma pratiği yapacaksınız. Sizin için öğrenci notlarından oluşan bir map oluşturuldu. Göreviniz, map üzerinde gezinmek ve her öğrencinin adını ve notunu yazdırmaktır.

studentGrades map'i üzerinde gezinmek ve her öğrencinin adını ve notunu şu formatta yazdırmak için kodu tamamlayın: Student: [name], Grade: [grade]

Kopya kağıdı

Bir map içindeki anahtar-değer çiftleri üzerinde gezinmek için range kullanın:

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

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

Yalnızca anahtarlar üzerinde gezinmek için ikinci değişkeni atlayın:

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

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 isimlerini (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 isimleri listesi üzerinde döngü kur
	// ve her öğrencinin adını ve notunu şu formatta 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