יסודות קדימות אופרטורים
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 27 מתוך 109.
קדימות אופרטורים קובעת את הסדר שבו פעולות מתבצעות בביטוי. פעולות בעלות קדימות גבוהה יותר מתבצעות לפני פעולות בעלות קדימות נמוכה יותר.
צרו תוכנית שמדגימה קדימות אופרטורים:
result1 := 5 + 3 * 2
result2 := (5 + 3) * 2
fmt.Println("5 + 3 * 2 =", result1)
fmt.Println("(5 + 3) * 2 =", result2)הפלט הוא:
5 + 3 * 2 = 11
(5 + 3) * 2 = 16בביטוי הראשון, לכפל (*) יש קדימות גבוהה יותר מלחיבור (+), ולכן 3 * 2 מחושב תחילה. בביטוי השני, סוגריים עוקפים את הקדימות כברירת מחדל ומאלצים לחשב תחילה את 5 + 3.
אתגר
מתחיליםבאתגר הזה תתרגלו הבנה של קדימות אופרטורים ב-Go. יש לכם כמה משתנים עם ערכים שונים, ועליכם לתקן את הביטוי במשתנה result כדי לקבל את הפלט הצפוי.
הביטוי כרגע כולל מיקום שגוי של סוגריים. המשימה שלכם היא להוסיף סוגריים במקומות הנכונים כך שהביטוי יוערך ל-true.
נסו בעצמכם
package main
import "fmt"
func main() {
// המשתנים האלה כבר הוגדרו עבורכם
a := true
b := false
c := true
// TODO: הוסיפו סוגריים לביטוי שלמטה כדי שהתוצאה שלו תהיה true
// HINT: התוצאה של הביטוי צריכה להיות true
result := a && b || c
// אל תשנו את השורה שלמטה
fmt.Println(result)
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין