פלט מעוצב
חלק מהיחידה יסודות במסלול ה-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 מוחלף בערך מחרוזת (שם)
// %d מוחלף בערך של מספר שלם (גיל)
// %.1f מוחלף בערך של מספר עשרוני המציג ספרה אחת אחרי הנקודה (גובה)
// %t מוחלף בערך בוליאני (true או false)
// %c מוחלף בתו יחיד (rune כמו 'A')ה־\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 אונליין