Menu
Coddy logo textTech

מצביעים ל-Struct

חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 97 מתוך 109.

כשעובדים עם מבנים, אפשר ליצור אליהם מצביעים בדיוק כמו לסוגים אחרים. זה שימושי להעברה יעילה של מבנים גדולים.

הגדר מבנה Person וצור מצביע אליו:

type Person struct {
    name string
    age  int
}

func main() {
    person := Person{name: "Alice", age: 30}
    
    // צור מצביע ל-struct
    personPtr := &person
    
    // גש לשדות באמצעות המצביע
    fmt.Println(personPtr.name)
    fmt.Println(personPtr.age)
}

הפלט מראה שאפשר לגשת לשדות דרך המצביע:

Alice
30

אפשר גם לשנות שדות באמצעות המצביע:

personPtr.age = 31
fmt.Println(person.age)  // מדפיס: 31
challenge icon

אתגר

מתחילים

באתגר הזה תתרגל עבודה עם מצביעים למבנים ב-Go. יש לך מבנה Person עם השדות name ו-age. המשימה שלך היא לעדכן את המידע של האדם באמצעות מצביע למבנה.

הקוד כבר יוצר מבנה Person ומצביע אליו. עליך לשנות את המידע של האדם דרך המצביע.

נסו בעצמכם

package main

import "fmt"

// מבנה Person עם השדות name ו-age
type Person struct {
	name string
	age  int
}

func main() {
	// צרו מבנה Person
	person := Person{
		name: "John",
		age:  25,
	}

	// צרו מצביע למבנה Person
	personPtr := &person

	// הדפיסו את פרטי האדם המקוריים
	fmt.Println("Original person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)

	// TODO: השתמשו במצביע כדי לשנות את שם האדם ל-"Jane" ואת גילו ל-30
	// רמז: אפשר לגשת לשדות המבנה דרך מצביע באמצעות סימון הנקודה
	

	// הדפיסו את פרטי האדם המעודכנים
	fmt.Println("Updated person:")
	fmt.Printf("Name: %s, Age: %d\n", person.name, person.age)
}
quiz iconבחנו את עצמכם

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

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

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