מילת המפתח `fallthrough`
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 42 מתוך 109.
ב-Go, מילת המפתח fallthrough מאפשרת לנו להמשיך בביצוע אל המקרה הבא בהצהרת switch, גם לאחר שנמצאה התאמה. בואו נבדוק איך זה עובד.
תחילה, ניצור משפט switch פשוט שמשתמש במילת המפתח fallthrough כדי לתאר מספר:
num := 15
switch {
case num < 20:
fmt.Print("Less than 20 ")
fallthrough
case num > 10:
fmt.Print("Greater than 10 ")
fallthrough
case num > 0:
fmt.Print("Positive number")
}לאחר שנריץ את הקוד הזה, נראה את שלוש ההודעות מודפסות על המסך:
Less than 20 Greater than 10 Positive numberזה קורה כי המקרה הראשון תואם (15 קטן מ־20), ומילת המפתח fallthrough מאלצת את Go לבצע גם את המקרה השני. לאחר מכן, גם המקרה השני משתמש ב־fallthrough, מה שגורם ל־Go לבצע גם את המקרה השלישי. ללא fallthrough, רק המקרה התואם הראשון היה מתבצע.
זכור ש-fallthrough יפעיל את המקרה הבא בלי קשר לשאלה אם התנאי שלו נכון או לא. בדוגמה שלנו, כל התנאים מתקיימים עבור המספר 15, אך המקרה הבא יופעל גם אם התנאי שלו יהיה שגוי.
אתגר
מתחיליםבאתגר הזה תתרגלו שימוש במילת המפתח fallthrough בהוראת switch. מילת המפתח fallthrough מאפשרת להמשיך בביצוע למקרה הבא גם לאחר שנמצאה התאמה.
יש לכם משתנה שמייצג יום בשבוע. המשימה שלכם היא להוסיף את מילת המפתח fallthrough במקום המתאים, כך שהתוכנית תדפיס גם את 'It's a weekday!' וגם את 'Time to work!' כאשר היום הוא 'Monday'.
נסו בעצמכם
package main
import "fmt"
func main() {
// משתנה המייצג יום בשבוע
day := "Monday"
// משפט switch לבדיקת היום
switch day {
case "Monday":
fmt.Println("It's a weekday!")
// TODO: הוסף כאן את מילת המפתח fallthrough כדי להמשיך למקרה הבא
case "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println("Time to work!")
case "Saturday", "Sunday":
fmt.Println("It's the weekend!")
default:
fmt.Println("Invalid day!")
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין