מפות
שיעור 17 מתוך 21 בקורס פרוסות ומפות ב-GoLang של Coddy.
מפה היא טיפוס של אוסף, בדיוק כמו מערך ופרוסה. היא מאחסנת נתונים בצמדי מפתח-ערך ומאפשרת חיפוש מהיר של הערכים.
התחביר להכרזה על מפה הוא כדלקמן:
products := map[string]int{}בדומה להכרזה על משתנים עבור מערכים ופרוסות, אפשר להשתמש בהכרזה הקצרה (:=) או במילת המפתח var ואחריה שם, אחריו מילת המפתח map, ובתוך הסוגריים המרובעים מציינים את טיפוס המפתח, ולבסוף מציינים את טיפוס הערך או טיפוס האיבר.
גם פרוסות ומערכים הם טיפוסים של מפתח-ערך, אבל המפתח הוא פשוט האינדקס. במפות אפשר להשתמש בכל טיפוס כמפתח, כל עוד אפשר להשוות אותו. בדרך כלל, הטיפוסים הם int ו-string.
כל האיברים במפה צריכים להיות מאותו טיפוס; אי אפשר לערבב טיפוסים במפה אחת.
בואו נאתחל את המפה שלנו:
products := map[string]int{
"iPhone": 1200,
"MacBook": 4000,
"Keyboard": 400,
}בדומה לפרוסות ולמערכים, אפשר לגשת לאיברים באמצעות מפתחות. במקרה הזה, המפתח הוא מה שהגדרנו עבור כל איבר. לדוגמה, כדי לקבל את המחיר של המקלדת:
fmt.Println("The Price of Keyboard:", products["Keyboard"])פלט:
The Price of Keyboard: 400אפשר להדפיס את כל האיברים במפה, בדיוק כמו פרוסה:
fmt.Println(products)והתוצאה תהיה:
map[iPhone:1200 MacBook:4000 Keyboard:400]
אתגר
קליש לנו אוסף ספרים, שלכל אחד מהם מספר עמודים שונה, כדלקמן:
- בספר Python יש 300 עמודים
- בספר Golang יש 400 עמודים
- בספר Rust יש 500 עמודים
ממשו זאת באמצעות map והדפיסו למסך את מספר העמודים בספר Golang .
נסו בעצמכם
package main
import "fmt"
func main() {
// הגדירו מפה
// הדפיסו את מספר העמודים בספר Golang
}כל השיעורים ביחידה פרוסות ומפות ב-GoLang
3מה מסתתר מאחורי ה-Slice
Slice הוא מערךיצירת Slice באמצעות makeהעתקת Sliceמחיקת איבראתגר סיכום #1אתגר סיכום #2תרגלו בעצמכם: קומפיילר Go אונליין