מהו ממשק?
חלק מהיחידה לוגיקה וזרימת התוכנית במסלול ה-GO של Coddy. שיעור 12 מתוך 68.
ממשק ב-Go הוא כמו חוזה שמגדיר אילו התנהגויות חייבות להיות לסוג, בלי לציין כיצד ההתנהגויות האלה ממומשות. אפשר לחשוב עליו כעל אוסף של חתימות מתודות שמתאר מה משהו יכול לעשות.
כדי להבין ממשקים טוב יותר, דמיינו שקע חשמל בביתכם.
לשקע יש צורה מסוימת והוא מספק חשמל, אבל לא אכפת לו איזה מכשיר תחבר אליו. בין אם מדובר במנורה, במטען לטלפון או במחשב, כל מכשיר שיש לו תקע בצורה המתאימה יכול להתחבר ולקבל חשמל. השקע מגדיר את ה״ממשק״ — את דרישות החיבור.
ב-Go, ממשק פועל באופן דומה. הוא מגדיר קבוצה של חתימות מתודות שסוג חייב לכלול כדי "להתחבר" לממשק הזה. כל סוג שיש לו את כל המתודות הנדרשות מקיים את הממשק באופן אוטומטי, ללא קשר למה עוד אותו סוג עשוי לעשות או לאופן שבו הוא מממש את המתודות האלה.
המושג הזה רב־עוצמה כי הוא מאפשר לך לכתוב קוד שעובד עם כל סוג שיכול לבצע התנהגויות מסוימות, וכך להפוך את התוכניות שלך לגמישות ולשימושיות יותר. בדיוק כפי שמכשירים שונים יכולים להשתמש באותו שקע חשמל, גם סוגים שונים ב-Go יכולים לממש את אותו ממשק, כל עוד יש להם את המתודות הנדרשות.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת התוכנית
1בקרת זרימה מתקדמת
switch עם `fallthrough`יציאה מלולאות מקוננותהמשך לולאה מסוימתהצהרת `goto`סיכום – שליטה מתקדמת בלולאות4פרויקט: רשימת משימות פשוטה
הגדרת הפרויקטהוספת משימה2מבנים ושיטות
הגדרת שיטות במבניםמקבלי ערךמקבלי מצביעבחירת מקבליםשיטות לעומת פונקציותסיכום — התנהגות המבנים5מפות לעומק
מפות של Structsמצביעים כערכים במפהבדיקה אם מפות הן nilהשוואת מפותסיכום - מונה תדירות מילים8פרויקט: ניהול מלאי פשוט
סקירת הפרויקטבדיקת המלאיתרגלו בעצמכם: קומפיילר Go אונליין