`switch` עם ביטויים
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 40 מתוך 109.
בואו נלמד על ביטויי switch ב-Go, שמאפשרים לנו להעריך ערך ישירות בתוך משפט ה-switch.
תחילה, נראה כיצד להשתמש במשפט switch עם ביטוי כדי לבדוק אם מספר הוא חיובי, שלילי או אפס:
num := -5
switch {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}לאחר ביצוע הקוד הזה, התוכנית תציג על המסך:
Negative numberשימו לב שאנחנו משתמשים ב־switch { ללא ערך אחריו. פירוש הדבר הוא ש־Go תעריך כל ביטוי case כתנאי בוליאני. מכיוון ש־num הוא -5, ה־case השני num < 0 מוערך כ־true, ולכן מודפס "Negative number".
אפשר גם לאתחל משתנה ישירות בתוך משפט ה-switch. בואו נראה איך זה עובד:
switch num := -5; {
case num > 0:
fmt.Println("Positive number")
case num < 0:
fmt.Println("Negative number")
default:
fmt.Println("Zero")
}לאחר הרצת הקוד הזה, נקבל את אותה התוצאה:
Negative numberבדוגמה הזאת, הכרזנו על num ואִתחלנו אותו ישירות בהוראת switch. נקודה-פסיק מפרידה בין האתחול לבין ביטוי ה-switch (שהוא ריק כאן). כך הקוד שלנו קומפקטי יותר, תוך שמירה על אותה פונקציונליות.
אתגר
מתחיליםswitch פשוט ב-Go. עליכם להשלים את הקוד כדי לקבוע את התיאור של יום לפי שמו, באמצעות פקודת switch.משתנה
dayName כבר מוגדר עם הערך "Wednesday". עליכם להשתמש בביטוי switch כדי להגדיר את המשתנה description לערכים הבאים:-
"Start of the week" עבור יום שני-
"Midweek" עבור יום רביעי-
"Almost weekend" עבור יום שישי-
"Weekend" עבור שבת או ראשון-
"Regular day" עבור כל יום אחרנסו בעצמכם
package main
import "fmt"
func main() {
// שם היום כבר הוגדר
dayName := "Wednesday"
// משתנה לאחסון התיאור
var description string
// TODO: כתבו משפט switch שמגדיר את התיאור על סמך dayName
// עבור Monday: "Start of the week"
// עבור Wednesday: "Midweek"
// עבור Friday: "Almost weekend"
// עבור Saturday או Sunday: "Weekend"
// עבור כל יום אחר: "Regular day"
// הדפיסו את התוצאה
fmt.Printf("%s is %s\n", dayName, description)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין