הצהרת משתני מצביע
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 61 מתוך 109.
ב-Go, אפשר להצהיר על מצביעים בשתי דרכים עיקריות: באמצעות var עם טיפוס מצביע או באמצעות אופרטור הכתובת עם :=.
הצהר על מצביע באמצעות var עם טיפוס מצביע:
func main() {
var x int = 42
var ptr *int // הכרז על מצביע למספר שלם
ptr = &x // הקצה את הכתובת של x ל־ptr
fmt.Println("Value of x:", x)
fmt.Println("Value of ptr:", ptr)
fmt.Println("Value at ptr:", *ptr)
}הפלט מראה שהמצביע מאחסן את הכתובת של x:
Value of x: 42
Value of ptr: 0xc000018030
Value at ptr: 42אפשר גם להצהיר על מצביע ולאתחל אותו בשורה אחת באמצעות :=:
y := 100
ptr := &y // הצהר על מצביע ואתחל אותו בצעד אחדאתגר
מתחיליםבאתגר הזה תתרגלו הכרזה על מצביעים ושימוש בהם ב-Go. מצביע כבר הוגדר עבורכם, והמשימה שלכם היא ליצור מצביע חדש שמצביע לאותו ערך.
השלימו את TODO בקוד כדי להכריז על משתנה מצביע חדש בשם 'secondPointer' שמצביע לאותה כתובת זיכרון כמו המצביע הקיים.
נסו בעצמכם
package main
import "fmt"
func main() {
// הנה משתנה ומצביע אליו
originalValue := 42
pointerToValue := &originalValue
// TODO: הכריזו על משתנה מצביע חדש בשם 'secondPointer'
// שמצביע לאותה כתובת זיכרון כמו 'pointerToValue'
// אל תשנו את הקוד שלהלן
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
// נשנה את הערך המקורי ונראה איך כל המצביעים משקפים את השינוי
originalValue = 100
fmt.Printf("\nAfter changing original value to 100:\n")
fmt.Printf("Original value: %v\n", originalValue)
fmt.Printf("Value through first pointer: %v\n", *pointerToValue)
fmt.Printf("Value through second pointer: %v\n", *secondPointer)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין