שיטות לעומת פונקציות
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-GO של Coddy. שיעור 10 מתוך 68.
אף ששיטות ופונקציות מבצעות פעולות ב-Go, הן משרתות מטרות שונות ונכתבות בתבניות הצהרה שונות. הבנת ההבדל הזה חיונית לכתיבת קוד ברור ומאורגן.
פונקציה היא עצמאית ונפרדת. היא אינה שייכת לסוג מסוים כלשהו:
func calculateArea(width, height float64) float64 {
return width * height
}מתודה משויכת לסוג מסוים באמצעות מקבל. היא שייכת לסוג הזה ויכולה לגשת לנתונים שלו:
func (r Rectangle) area() float64 {
return r.Width * r.Height
}ההבדל העיקרי טמון באופן שבו קוראים להן. לפונקציות קוראים ישירות לפי שמן, ואילו למתודות קוראים על מופעים מהטיפוס המשויך להן באמצעות סימון נקודה. השיוך הזה הופך מתודות למתאימות במיוחד להגדרת התנהגויות ששייכות באופן טבעי לטיפוסים המותאמים אישית שלך, בעוד שפונקציות מתאימות היטב לפעולות כלליות שאינן צריכות להיות קשורות למבני נתונים מסוימים.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1בקרת זרימה מתקדמת
switch עם `fallthrough`יציאה מלולאות מקוננותהמשך לולאה מסוימתהצהרת `goto`סיכום – שליטה מתקדמת בלולאות4פרויקט: רשימת משימות פשוטה
הגדרת הפרויקטהוספת משימה2מבנים ושיטות
הגדרת שיטות במבניםמקבלי ערךמקבלי מצביעבחירת מקבליםשיטות לעומת פונקציותסיכום — התנהגות המבנים5מפות לעומק
מפות של Structsמצביעים כערכים במפהבדיקה אם מפות הן nilהשוואת מפותסיכום - מונה תדירות מילים8פרויקט: ניהול מלאי פשוט
סקירת הפרויקטבדיקת המלאיתרגלו בעצמכם: קומפיילר Go אונליין