פלט מעוצב
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 29 מתוך 109.
נלמד איך לעצב את הפלט שלנו ב-Go באמצעות הפונקציה fmt.Printf(). הפונקציה הזו מאפשרת לנו להציג ערכים בפורמטים מסוימים באמצעות מצייני מקום.
ראשית, ניצור תוכנית שמעצבת סוגי נתונים שונים באמצעות מצייני מיקום:
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)לאחר הרצת הקוד הזה, הטקסט "Name: Gopher, Age: 5, Height: 1.5" יופיע על המסך. מצייני המיקום במחרוזת שלנו מוחלפים בערכים בפועל של המשתנים שלנו.
בואו נבין מה עושה כל מציין מקום:
// %s מוחלף בערך מחרוזת (name)
// %d מוחלף בערך של מספר שלם (age)
// %.1f מוחלף בערך מסוג float המוצג עם ספרה אחת אחרי הנקודה העשרונית (height)
// %t מוחלף בערך בוליאני (true או false)ה־\n בסוף מחרוזת עיצוב הוא תו מילוט שמעביר את הסמן לשורה חדשה, בדיוק כמו לחיצה על Enter. הוא חייב להופיע בתוך המרכאות, ללא רווח לפני המרכאה הסוגרת, אחרת יופיעו רווחים נוספים בפלט שלך.
הפונקציה fmt.Printf() מחליפה כל מציין מקום במשתנה המתאים שאנחנו מספקים אחרי מחרוזת הפורמט. סדר המשתנים חייב להתאים לסדר מצייני המקום.
עכשיו ננסה דוגמה נוספת עם סוגים שונים של עיצוב:
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)לאחר ביצוע הקוד הזה, הטקסט "Pi: 3.14, Percentage: 75.0%, Letter: A" יופיע על המסך. שימו לב לכך ש־%.2f מציג רק 2 ספרות אחרי הנקודה העשרונית עבור pi, ושאנחנו מכפילים את האחוז ב־100 כדי להציג אותו כערך באחוזים.
שימו לב גם ל־%% במחרוזת העיצוב. זוהי רצף בריחה מיוחד שמדפיס סימן % מילולי. סימן % יחיד ייחשב לתחילתו של מציין מקום, ולכן משתמשים ב־%% בכל פעם שרוצים להציג סימן אחוז ממשי בפלט.
אתגר
קלבאתגר הזה תתרגל שימוש בפלט מעוצב ב-Go באמצעות הפונקציה fmt.Printf().
יש לך מידע על מוצר שצריך להציג בפורמט מסוים באמצעות פעלי עיצוב. המשתנים כבר הוגדרו עבורך.
המשימה שלך היא להשתמש ב-fmt.Printf() עם פעלי העיצוב המתאימים כדי להציג את פרטי המוצר:
- השתמש ב-%s למחרוזות
- השתמש ב-%d למספרים שלמים
- השתמש ב-%.2f למספרים עשרוניים עם 2 ספרות אחרי הנקודה
- השתמש ב-%t לערכים בוליאניים
הצג את פרטי המוצר בדיוק כפי שהם מופיעים בפלט הצפוי.
נסו בעצמכם
package main
import "fmt"
func main() {
// פרטי המוצר
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: השתמשו ב־fmt.Printf() עם מצייני עיצוב כדי להציג את פרטי המוצר:
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// רמז: השתמשו ב־%s עבור מחרוזות, ב־%d עבור מספרים שלמים, ב־%.2f עבור מספרים עשרוניים וב־%t עבור ערכים בוליאניים
// זכרו להוסיף \n בסוף כל שורה כדי להבטיח עיצוב תקין
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין