ביטול הפניה של מצביעים
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 63 מתוך 109.
ביטול הפניה של מצביעים (*) מאפשר לגשת לערך המאוחסן בכתובת זיכרון. פעולה זו נקראת "ביטול הפניה" של המצביע.
צרו משתנה ומצביע אליו:
func main() {
number := 42
pointer := &number
// בצע דה־רפרנס ל-pointer כדי לקבל את הערך
value := *pointer
fmt.Println("Pointer:", pointer)
fmt.Println("Dereferenced value:", value)
}הפלט מציג גם את המצביע וגם את הערך שאליו הוא מצביע:
Pointer: 0xc000018030
Dereferenced value: 42הכוכבית (*) שלפני משתנה מצביע ניגשת לערך בפועל בכתובת הזיכרון הזו.
אתגר
מתחיליםבאתגר הזה תתרגלו ביטול הפניה של מצביעים ב-Go. יש לנו משתנה message עם ערך מסוג מחרוזת, ומצביע messagePtr שמצביע אליו.
המשימה שלך היא לבטל את ההפניה של המצביע כדי לגשת לערך שאליו הוא מצביע ולהדפיס אותו.
נסו בעצמכם
package main
import "fmt"
func main() {
// הנה משתנה המחרוזת שלנו
message := "Hello, pointers!"
// זהו מצביע למשתנה message שלנו
messagePtr := &message
// TODO: בצעו dereference ל-messagePtr כדי לקבל את הערך שאליו הוא מצביע
// ושמרו אותו במשתנה 'value'
value := ""
// הדפיסו את התוצאות
fmt.Println("The pointer points to the value:", value)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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`סיכום - קבלת החלטות9מצביעים
מהו מצביע?הצהרת משתני מצביעאופרטור קבלת הכתובתביטול הפניה של מצביעיםשימוש במצביעים בפונקציותמצביעי Nilסיכום – הבנת מצביעיםתרגלו בעצמכם: קומפיילר Go אונליין