Menu
Coddy logo textTech

יסודות תחום ההשפעה של פונקציה

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

ב-Go, משתנים שהוצהרו בתוך פונקציה נגישים רק בתוך אותה פונקציה. זה נקרא תחום פונקציה.

צרו פונקציה עם משתנה מקומי:

func calculateTotal(price int, quantity int) int {
    tax := 0.1 * float64(price * quantity)  // משתנה מקומי
    total := price * quantity + int(tax)
    return total
}

func main() {
    result := calculateTotal(10, 2)
    fmt.Println("Total:", result)
    // fmt.Println(tax)  // שגיאה: לא ניתן לגשת ל-tax כאן
}

הפלט מציג רק את הערך שהוחזר:

Total: 22

המשתנה tax קיים רק בתוך הפונקציה calculateTotal ואי אפשר לגשת אליו מתוך main.

challenge icon

אתגר

מתחילים

באתגר הזה תתרגל הבנת תחום הנראות של פונקציות ב-Go. עליך לתקן תוכנית פשוטה שיש בה בעיה של תחום נראות.

בתוכנית יש משתנה גלובלי message ופונקציה שמנסה לשנות אותו. עליך לתקן את הקוד כך שהפונקציה תעדכן כראוי את המשתנה הגלובלי.

נסו בעצמכם

package main

import "fmt"

// משתנה גלובלי
var message string = "Hello from global scope"

func updateMessage() {
    // פעולה זו יוצרת משתנה מקומי חדש במקום לשנות את המשתנה הגלובלי
    message := "Hello from function scope"
    fmt.Println("Inside function:", message)
}

func main() {
    fmt.Println("Before function call:", message)
    updateMessage()
    
    // TODO: המשתנה הגלובלי message עדיין מכיל את הערך המקורי
    // שנו את הפונקציה updateMessage() כך שתשנה את המשתנה הגלובלי
    fmt.Println("After function call:", message)
}
quiz iconבחנו את עצמכם

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

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

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