Menu
Coddy logo textTech

שיטות לעומת פונקציות

חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-GO של Coddy. שיעור 10 מתוך 68.

אף ששיטות ופונקציות מבצעות פעולות ב-Go, הן משרתות מטרות שונות ונכתבות בתבניות הצהרה שונות. הבנת ההבדל הזה חיונית לכתיבת קוד ברור ומאורגן.

פונקציה היא עצמאית ונפרדת. היא אינה שייכת לסוג מסוים כלשהו:

func calculateArea(width, height float64) float64 {
    return width * height
}

מתודה משויכת לסוג מסוים באמצעות מקבל. היא שייכת לסוג הזה ויכולה לגשת לנתונים שלו:

func (r Rectangle) area() float64 {
    return r.Width * r.Height
}

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

נסו בעצמכם

השיעור הזה לא כולל אתגר קוד.

quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה לוגיקה וזרימת התוכנית

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