יסודות תחום ההשפעה של פונקציה
חלק מהיחידה יסודות במסלול ה-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.
אתגר
מתחיליםבאתגר הזה תתרגל הבנת תחום הנראות של פונקציות ב-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)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין