Menu
Coddy logo textTech

הצהרת משתני מצביע

חלק מהיחידה יסודות במסלול ה-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    // הצהר על מצביע ואתחל אותו בצעד אחד
challenge icon

אתגר

מתחילים

באתגר הזה תתרגלו הכרזה על מצביעים ושימוש בהם ב-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)
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

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