אתחול Struct
חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 98 מתוך 109.
יש כמה דרכים לאתחל מבנים (structs) ב-Go. בואו נבחן את השיטות הנפוצות ביותר.
צרו מבנה עם שמות שדות:
type Person struct {
name string
age int
}
func main() {
// אתחל עם שמות השדות
person1 := Person{name: "Alice", age: 30}
fmt.Println(person1)
}הפלט מציג את המבנה שאותחל:
{Alice 30}אפשר גם לאתחל struct בלי שמות שדות, אבל צריך לספק את הערכים לפי הסדר:
person2 := Person{"Bob", 25}
fmt.Println(person2)תוצאה:
{Bob 25}צרו מבנה ריק עם ערכי אפס:
person3 := Person{}
fmt.Println(person3)תוצאה:
{ 0}אתגר
מתחיליםבאתגר הזה תתרגל אתחול של מבנה (struct) ב-Go. הגדרנו מבנה Person עם שדות לשם, לגיל ולשאלה אם האדם מועסק.
המשימה שלך היא לאתחל מופע חדש של המבנה Person עם הפרטים הבאים:
- שם: "Alice"
- גיל: 28
- IsEmployed: true
לאחר מכן נדפיס את המידע על האדם הזה.
נסו בעצמכם
package main
import "fmt"
// הגדרת ה-struct Person
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: אתחלו struct מסוג Person עם השם "Alice", הגיל 28 והערך true עבור isEmployed
// השתמשו בשמות השדות או בתחביר של struct literal
var alice Person
// הדפיסו את פרטי האדם
fmt.Printf("Name: %s\n", alice.Name)
fmt.Printf("Age: %d\n", alice.Age)
fmt.Printf("Employed: %t\n", alice.IsEmployed)
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
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 אונליין