הוספת ומחיקת איברים
שיעור 19 מתוך 21 בקורס פרוסות ומפות ב-GoLang של Coddy.
מפות ב-Golang פועלות בדיוק כמו מערכים ופרוסות. כדי להוסיף איבר חדש למפה, משתמשים באותו תחביר כמו במערך, אלא שבמפה מציינים גם את המפתח וגם את הערך. לדוגמה, נניח שיש לנו מפה כזאת:
var books = map[string]int{
"Python": 1,
"JavaScript": 2,
"Rust": 3,
}כדי להוסיף איבר חדש, עושים זאת כך:
books["Golang"] = 4ואם נדפיס את המפה, אנחנו אמורים לראות בה את Golang:
map[Golang:4 JavaScript:2 Python:1 Rust:3]ייתכן שתבחינו שמפות לא מסדרות את האיברים. הסיבה לכך היא שלמפות לא ממש אכפת מסדר האיברים; הן נותנות עדיפות לביצועים של שליפת תוצאות במהירות.
שימו לב שכאשר מוסיפים איברים חדשים למפה, צריך להשתמש באותו טיפוס כמו טיפוס הערך של המפה.
לדוגמה, אי אפשר לעשות זאת:
books["Golang"] = "Learn Golang"מכיוון שהערך במפה המקורית הוא מטיפוס מספר שלם, ולא מטיפוס מחרוזת.
עכשיו, לאחר שלמדנו איך להוסיף ולקבל איבר, מה אם נצטרך למחוק איבר מהמפה?
לשם כך יש פונקציה מובנית בשם delete. התחביר הוא כדלקמן:
נניח שעלינו למחוק את האיבר הראשון, שהוא "Python":
delete(books, "Python")משתמשים במילת המפתח delete, ובין הסוגריים מציינים את שם המפה ואת המפתח שרוצים למחוק. במקרה שלנו, זה "Python".
אתגר
קלבקוד הנתון, אנחנו מגדירים מפה עם 6 איברים. בצע את השלבים הבאים:
- הוסף איבר חדש עם המפתח 6 והערך "orange".
- מחק את האיבר עם המפתח 10.
- באמצעות לולאת for, הדפס את המפה בסדר עולה, החל מ־1 ועד הסוף.
נסו בעצמכם
package main
import "fmt"
func main() {
// הגדירו map עם 6 איברים, אל תשנו את זה!
fruits := map[int]string{
1: "apple",
2: "banana",
3: "cherry",
4: "date",
5: "elderberry",
10: "fig",
}
// הוסיפו איבר חדש עם המפתח 6 והערך "orange"
// מחקו את האיבר עם המפתח 10
// באמצעות לולאת for, הדפיסו את ה-map לפי הסדר, החל מ-1 ועד הסוף
}כל השיעורים ביחידה פרוסות ומפות ב-GoLang
1מבוא
מבוא3מה מסתתר מאחורי ה-Slice
Slice הוא מערךיצירת Slice באמצעות makeהעתקת Sliceמחיקת איבראתגר סיכום #1אתגר סיכום #2תרגלו בעצמכם: קומפיילר Go אונליין