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: 12Yalnızca anahtarlara ihtiyacınız varsa, ikinci değişkeni atlayabilirsiniz:
for fruit := range inventory {
fmt.Println(fruit)
}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]"
}
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
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma Operatörleri - Bölüm 1Karşılaştırma Operatörleri - Bölüm 2Mantıksal VE OperatörüMantıksal VEYA OperatörüMantıksal DEĞİL OperatörüOperatör Önceliği TemelleriÖzet - Karşılaştırma Yapma7Kontrol Akışı: Döngüler
`for` Döngüsü Nedir?`for` Döngüsü - Temel`for` Döngüsü - Sadece Koşul`break` Anahtar Kelimesi`continue` Anahtar Kelimesiİç İçe DöngülerÖzet - İşlemleri Tekrarlama2Değişkenler ve Temel Veri Tipleri
Değişken nedir?`:=` ile Tür ÇıkarımıTam Sayılar (int)Ondalıklı SayılarBooleanlarStringlerSıfır DeğerlerSabitlerİsimlendirme KurallarıÖzet - Değişkenler ve Türler5Temel Giriş/Çıkış
Biçimlendirilmiş ÇıktıBiçim BelirteçleriVeri Tiplerini YazdırmaTemel Kullanıcı Girdisi AlmaÖzet - Giriş ve Çıkış8Fonksiyonlar
Fonksiyonları AnlamakFonksiyon TanımlamaFonksiyonları ÇağırmaFonksiyon ParametreleriTek Bir Değer DöndürmeBirden Fazla Değer Döndürmeİsimlendirilmiş Dönüş DeğerleriFonksiyon Kapsamı TemelleriÖzet - Yeniden Kullanılabilir Kod Oluşturma3Temel Operatörler
Aritmetik OperatörlerBölme OperatörüModulo OperatörüAtama OperatörüBileşik Atama OperatörleriArtırma ve AzaltmaÖzet - Hesaplamalar6Kontrol Akışı: Koşullu İfadeler
`if` İfadesi`else` Anahtar Kelimesi`else if` Anahtar Kelimesi`if` İçinde Değişken GölgelemeDeğişkenleri Başlatma`switch` İfadesiİfadeli `switch`İfadesiz `switch``fallthrough` Anahtar KelimesiÖzet - Karar Verme