מעבר על מפות
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 92 מתוך 109.
מילת המפתח range מאפשרת לך לעבור על כל זוגות המפתח-ערך במפה. היא מחזירה גם את המפתח וגם את הערך של כל רשומה.
צור מפה של מלאי הפירות:
inventory := map[string]int{
"apples": 5,
"bananas": 8,
"oranges": 12,
}
for fruit, quantity := range inventory {
fmt.Printf("%s: %d\n", fruit, quantity)
}התוצאה מציגה כל זוג מפתח-ערך:
apples: 5
bananas: 8
oranges: 12Go לא מבטיחה את הסדר שבו range עוברת על ערכי המפה, ולכן השורות האלה יכולות להופיע בסדר שונה בכל פעם שהלולאה רצה.
אם דרושים לך רק המפתחות, אפשר להשמיט את המשתנה השני:
for fruit := range inventory {
fmt.Println(fruit)
}אתגר
מתחיליםבאתגר הזה תתרגלו איטרציה על פני מפה באמצעות מילת המפתח range ב-Go. נוצרה עבורכם מפה של ציוני תלמידים. המשימה שלכם היא לעבור על המפה ולהדפיס את השם של כל תלמיד ואת הציון שלו.
השלימו את הקוד כדי לעבור על המפה studentGrades ולהדפיס את השם והציון של כל תלמיד בתבנית: Student: [name], Grade: [grade]
נסו בעצמכם
package main
import (
"fmt"
"sort"
)
func main() {
// מפה של ציוני תלמידים
studentGrades := map[string]string{
"Alice": "A",
"Bob": "B",
"Charlie": "B+",
"David": "A-",
"Eva": "C",
}
// אספו את שמות התלמידים (המפתחות) ל-slice כדי למיין אותם
var names []string
for name := range studentGrades {
names = append(names, name)
}
sort.Strings(names)
// TODO: עברו על הרשימה הממוינת של שמות התלמידים
// והדפיסו את שמו ואת ציונו של כל תלמיד בפורמט:
// "Student: [name], Grade: [grade]"
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואה – חלק 1אופרטורי השוואה – חלק 2אופרטור AND לוגיאופרטור OR לוגיאופרטור NOT לוגייסודות קדימות אופרטוריםסיכום – ביצוע השוואות7זרימת בקרה: לולאות
הסבר על לולאת `for`לולאת `for` – בסיסיתלולאת `for` – תנאי בלבדמילת המפתח `break`מילת המפתח `continue`לולאות מקוננותסיכום – חזרה על פעולות2משתנים וסוגי נתונים בסיסיים
מהו משתנההסקת טיפוס באמצעות `:=`מספרים שלמים (int)מספרים בנקודה צפהערכים בוליאנייםמחרוזותערכי אפסקבועיםמוסכמות לשמותסיכום – משתנים וטיפוסים8פונקציות
הבנת פונקציותהצהרה על פונקציהקריאה לפונקציותפרמטרים של פונקציההחזרת ערך יחידהחזרת מספר ערכיםערכי החזרה בעלי שםיסודות תחום ההשפעה של פונקציהסיכום - יצירת קוד לשימוש חוזר3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור חילוקאופרטור מודולואופרטור השמהאופרטורי השמה מורחבתהגדלה והקטנהסיכום – חישובים6זרימת בקרה: תנאים
פקודת `if`מילת המפתח `else`מילת המפתח `else if`הסתרת משתנים בתוך `if`אתחול משתניםפקודת `switch``switch` עם ביטויים`switch` ללא ביטוימילת המפתח `fallthrough`סיכום - קבלת החלטותתרגלו בעצמכם: קומפיילר Go אונליין