מצביעי Nil
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 65 מתוך 109.
מצביע nil הוא מצביע שאינו מצביע על שום דבר. זהו ערך האפס עבור טיפוסי מצביע.
הכרז על מצביע nil:
var ptr *int
fmt.Println(ptr)
fmt.Println(ptr == nil)הפלט מראה שהמצביע הוא nil:
<nil>
trueניסיון לבצע ביטול הפניה למצביע nil גורם ל-panic:
var ptr *int
// זה יגרום לתוכנית שלך לקרוס
// fmt.Println(*ptr)בדוק תמיד אם מצביע הוא nil לפני ביצוע פעולת dereference:
if ptr != nil {
fmt.Println(*ptr)
}אתגר
מתחיליםבאתגר הזה תעבוד עם מצביעי nil ב-Go. מצביע nil הוא מצביע שלא מצביע לאף כתובת זיכרון.
המשימה שלך היא לבדוק אם מצביע הוא nil ולהדפיס הודעה מתאימה.
בקוד כבר יש משתנה מצביע שהוגדר כ-nil. עליך להוסיף קוד שבודק אם המצביע הוא nil ולהדפיס הודעה בהתאם.
נסו בעצמכם
package main
import "fmt"
func main() {
// זהו מצביע nil למספר שלם
var ptr *int
// TODO: בדוק אם ptr הוא nil
// אם הוא nil, הדפס "The pointer is nil"
// אם הוא אינו nil, הדפס "The pointer is not nil"
fmt.Println("Program completed")
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין