Menu
Coddy logo textTech

הוספת ומחיקת איברים

שיעור 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".

challenge icon

אתגר

קל

בקוד הנתון, אנחנו מגדירים מפה עם 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

תרגלו בעצמכם: קומפיילר Go אונליין