הגדרת טיפוסים מותאמים אישית
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 94 מתוך 109.
ב-Go, אפשר ליצור טיפוסים מותאמים אישית משלך על בסיס טיפוסים קיימים. כך הקוד שלך יהיה ברור יותר ובטוח יותר מבחינת טיפוסים.
הגדירו טיפוס מותאם אישית לטמפרטורה במעלות צלזיוס:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}התוצאה מציגה את ערך הטמפרטורה:
Temperature: 25.5°Cטיפוסים מותאמים אישית מתנהגים כמו הטיפוסים שעליהם הם מבוססים, אך המהדר מתייחס אליהם כאל טיפוסים נפרדים, וכך משפר את קריאות הקוד ומונע שגיאות לוגיות.
אתגר
מתחיליםבאתגר הזה תתרגלו להגדיר טיפוס מותאם אישית ב-Go. טיפוסים מותאמים אישית מאפשרים לכם ליצור טיפוסי נתונים משלכם על בסיס טיפוסים קיימים.
המשימה שלכם היא להגדיר טיפוס מותאם אישית בשם Temperature שמבוסס על float64, ואז ליצור משתנה מהטיפוס הזה.
לאחר הגדרת הטיפוס, התוכנית צריכה להדפיס את הערך ואת הטיפוס של משתנה הטמפרטורה.
נסו בעצמכם
package main
import "fmt"
// TODO: הגדירו טיפוס מותאם אישית בשם 'Temperature' המבוסס על float64
func main() {
// צרו משתנה מטיפוס Temperature עם הערך 23.5
var roomTemp Temperature = 23.5
// הדפיסו את הערך והטיפוס של roomTemp
fmt.Printf("Room temperature: %v\n", roomTemp)
fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורי השוואה ולוגיקה
אופרטורי השוואה – חלק 1אופרטורי השוואה – חלק 2אופרטור AND לוגיאופרטור OR לוגיאופרטור NOT לוגייסודות קדימות אופרטוריםסיכום – ביצוע השוואות7זרימת בקרה: לולאות
הסבר על לולאת `for`לולאת `for` – בסיסיתלולאת `for` – תנאי בלבדמילת המפתח `break`מילת המפתח `continue`לולאות מקוננותסיכום – חזרה על פעולות10טיפוסים מורכבים: מערכים
מבוא למערכיםהכרזה על מערכיםאתחול מערכיםגישה לאיברי מערךאורך מערך באמצעות `len`מעבר על מערכיםמערכים רב-ממדיים13טיפוסים מורכבים: Structs
הגדרת טיפוסים מותאמים אישיתיצירת מופעי Structגישה לשדות של Structמצביעים ל-Structאתחול StructStruct מוטמעיםStruct אנונימייםסיכום – מבני נתונים מותאמים אישית2משתנים וסוגי נתונים בסיסיים
מהו משתנההסקת טיפוס באמצעות `:=`מספרים שלמים (int)מספרים בנקודה צפהערכים בוליאנייםמחרוזותערכי אפסקבועיםמוסכמות לשמותסיכום – משתנים וטיפוסים8פונקציות
הבנת פונקציותהצהרה על פונקציהקריאה לפונקציותפרמטרים של פונקציההחזרת ערך יחידהחזרת מספר ערכיםערכי החזרה בעלי שםיסודות תחום ההשפעה של פונקציהסיכום - יצירת קוד לשימוש חוזר3אופרטורים בסיסיים
אופרטורים אריתמטייםאופרטור חילוקאופרטור מודולואופרטור השמהאופרטורי השמה מורחבתהגדלה והקטנהסיכום – חישובים6זרימת בקרה: תנאים
פקודת `if`מילת המפתח `else`מילת המפתח `else if`הסתרת משתנים בתוך `if`אתחול משתניםפקודת `switch``switch` עם ביטויים`switch` ללא ביטוימילת המפתח `fallthrough`סיכום - קבלת החלטותתרגלו בעצמכם: קומפיילר Go אונליין