כיצד להקצות ערכי ברירת מחדל לשדות struct בגולנג?

Kyzd Lhqzwt Rky Bryrt Mhdl Lsdwt Struct Bgwlng



גולנג היא שפת תכנות מודרנית שצברה פופולריות בשנים האחרונות. אחת התכונות העוצמתיות של גולנג היא היכולת שלה להגדיר ולתפעל מבנים. מבנים הם סוגי נתונים המוגדרים על ידי המשתמש המאפשרים למפתחים לקבץ יחד שדות נתונים קשורים לאובייקט בודד. ב-Go, מבנים יכול לקבל ערכי ברירת מחדל הוקצו לשדות שלהם, מה שהופך את האתחול שלהם להרבה יותר קל.

במאמר זה, נחקור כיצד להקצות א ערך ברירת מחדל לשדה מבנה בגולנג.

מהם שדות מבנה?

ראשית, חשוב להבין את המושג של שדות struct . ה שדות struct הם משתנים שמקובצים ליצירת א struct לְהִתְנַגֵד. כל אחד שדה struct יש שם וסוג נתונים. לדוגמה, מבנה המייצג אדם עשוי לכלול שדות כגון שם, גיל ומין.







כיצד להקצות ערכי ברירת מחדל לשדות מבנים בגולנג?

ערכי ברירת מחדל ניתן להקצות לשדות struct ב-Go באמצעות:



  • ערכי אפס ברירת מחדל
  • בונים
  • מבנה ליטרלים
  • ערכי שדה ברירת מחדל

1: ערכי אפס ברירת מחדל

ב-Go, הקצאת ערכי ברירת מחדל לשדות struct ניתן להשיג באמצעות ' ערך אפס ' תכונה. תכונה זו מקצה אוטומטית ערך ברירת מחדל של ' 0 ' או ' שֶׁקֶר ' לכל שדה לא מאותחל, בהתאם לסוג הנתונים. משמעות הדבר היא שאינך צריך להגדיר במפורש ערכי ברירת מחדל עבור כל שדה במבנה, מכיוון ש-Go יעשה זאת עבורך.



תכונה זו יכולה להיות שימושית כאשר מתמודדים עם מבנים גדולים עם שדות רבים, מכיוון שהיא חוסכת את הזמן והמאמץ של הגדרה ידנית של ערכי ברירת מחדל עבור כל שדה.





הנה דוגמה שמשתמשת בערך האפס כדי להקצות ערכי ברירת מחדל לשדות struct:

החבילה הראשית

יְבוּא 'fmt'

סוּג מבנה אדם {
שם   מחרוזת
גיל    int
ציפה בגובה 64
IsMale bool
}

func main ( ) {
p1 := אדם { שֵׁם: 'ג'ון' , גיל: 30 }
fmt.Println ( p1.שם )
fmt.Println ( p1.גיל )
fmt.Println ( p1. גובה )
fmt.Println ( p1.IsMale )
}

הקוד למעלה מגדיר אדם struct עם ארבעה שדות: שם, גיל, גובה ו-IsMale, כולם מסוג הנתונים bool. לאחר מכן, אנו יוצרים מופע חדש של המחלקה Person, p1, ומאתחלים חלק מהשדות שלה על ידי שימוש במילולי struct כדי לציין את שמות השדות והערכים. ה ערכי אפס ברירת מחדל עבור השדות שלא הוגדרו במפורש במהלך האתחול מוצגים כאשר אתה מדפיס את ערכי השדות באמצעות fmt.Println .



תְפוּקָה

2: קונסטרוקטים

על ידי כתיבת א בַּנַאִי פונקציה עבור struct, אתה יכול גם לתת ערכי ברירת מחדל לשדות struct בגולנג. ה בַּנַאִי הפונקציה יוצרת מופע חדש של המבנה ומגדירה את ערכי ברירת המחדל עבור השדות שלו. שיטה זו חוסכת מאמץ וזמן, במיוחד בעת אינטראקציה עם מבנים ענקיים עם שדות רבים.

הנה דוגמה כיצד להגדיר את א בַּנַאִי פונקציה עם ערכי שדה ברירת מחדל עבור struct:

החבילה הראשית

יְבוּא 'fmt'

סוּג מבנה אדם {
שם    מחרוזת
גיל     int
מחרוזת כתובת
}
func NewPerson ( ) * אדם {
לַחֲזוֹר & אדם {
שֵׁם: 'פלוני אלמוני' ,
גיל: 30 ,
כתובת: '123 Main St' ,
}
}
func main ( ) {
p := NewPerson ( )
fmt.Println ( עמ' שם, עמ' גיל, עמ' כתובת )
}

בקוד לעיל, א אדם struct מוגדר, כמו גם ה אדם חדש() פונקציה, אשר מייצרת מופע חדש של ה אדם struct עם ברירות מחדל מוגדרות מראש. אנו קוראים אדם חדש() ב רָאשִׁי() כדי ליצור איתו מופע חדש של אדם ערכי ברירת מחדל של שדות , ואז אנו מדפיסים את הערכים של השדות של המופע הזה.

תְפוּקָה

3: מבנה מילולי

ב-Golang, אתה יכול להגדיר ערכי ברירת מחדל עבור שדות struct באמצעות מבנה מילולי גם כן. כל שעליך לעשות הוא לבנות מופע חדש של המבנה ולהגדיר את הערכים עבור כל שדה שיש לאתחל. אם ברצונך להגדיר ערכי ברירת מחדל עבור שדות שאינך מאתחל במפורש, תוכל להשתמש בתכונה של ערך אפס.

הנה דוגמה כיצד להשתמש מבנה מילולי כדי להגדיר ערכי ברירת מחדל של שדות עבור מבנה:

החבילה הראשית

יְבוּא 'fmt'

סוּג מבנה אדם {
שם    מחרוזת
גיל     int
מחרוזת כתובת
}
func main ( ) {
p := אדם {
שֵׁם: 'פלוני אלמוני' ,
גיל: 30 ,
}
fmt.Println ( עמ' שם, עמ' גיל, עמ' כתובת )
}

בקוד לעיל, אנו מגדירים א אדם struct בדוגמה זו וצור מופע חדש שלו באמצעות מבנה מילולי וערכי ברירת מחדל עבור השדות שלו. חדש אדם מופע נוצר ב-main() כאשר ערכי שדות מסוימים מאוכלסים ואחרים נותרים ריקים. מאז כתובת השדה אינו מאותחל, הוא מקבל את המחרוזת הריקה שהיא ערך ברירת המחדל עבור שדה זה. לבסוף, אנו מדפיסים את ערכי השדה של מופע האדם.

תְפוּקָה

4: ערכי שדה ברירת מחדל

מקצה ערכי ברירת מחדל ל שדות struct in Go הוא תהליך פשוט. ה ערך ברירת מחדל עבור שדה struct ניתן להגדיר באמצעות התחביר fieldName:defaultValue . לדוגמה, שקול את הגדרת המבנה הבאה:

סוּג מבנה אדם {
מחרוזת שם
גיל int
מחרוזת מגדר
}

להקצות ערכי ברירת מחדל לשדות של מבנה זה, נוכל להשתמש בתחביר הבא:

p := אדם {
שֵׁם: 'פלוני אלמוני' ,
גיל: 30 ,
מִין: 'זָכָר' ,
}

בדוגמה לעיל, הקצינו ערכי ברירת מחדל לשדות של מבנה האדם. אם נשמיט אחד מהערכים במהלך האתחול, ה- ערך ברירת מחדל ישמש במקום. לדוגמה, אם אנו מאתחלים אובייקט של אדם בצורה הבאה:

p := אדם {
שֵׁם: 'ג'יין איילה' ,
}

לאובייקט האדם שיתקבל יהיה ערכי ברירת מחדל עבור השדות גיל ומגדר, שהם 0 ומחרוזת ריקה, בהתאמה.

להלן קוד מלא הממחיש את התהליך לעיל:

החבילה הראשית
יְבוּא 'fmt'

סוּג מבנה אדם {
שם   מחרוזת
גיל    int
מחרוזת מגדר
}
func main ( ) {
p1 := אדם {
שֵׁם: 'פלוני אלמוני' ,
גיל: 30 ,
מִין: 'זָכָר' ,
}
fmt.Println ( p1 )

p2 := אדם {
שֵׁם: 'ג'רמי' ,
}
fmt.Println ( p2 )
}

בדוגמה שלמעלה, אנו בונים מבנה אדם שיש לו שלושה שדות: שם, int המייצג גיל ומגדר, מחרוזת המייצגת מגדר. תחביר אתחול המבנה משמש לאחר מכן לבניית שני מופעי Person, p1 ו-p2. p1 מאותחל עם הערכים 'John Doe' עבור שם, '30' עבור גיל ו-'Male' עבור Gender, שהם כולם ערכים שסופקו במפורש. מכיוון שלא נתנו ערכים עבור גיל ומגדר, ערכי ברירת המחדל של 0 ומחרוזת ריקה, בהתאמה, יוקצו להם. p2 מאותחל בתחילה רק עם השדה Name שסופק.

תְפוּקָה

סיכום

מקצה ערכי ברירת מחדל in Go הוא היבט חיוני בתכנות עם שפה זו. זה עוזר להבטיח שלכל מופע struct שנוצר מוקצים נתוני ברירת מחדל. על ידי שימוש בכל אחת מהשיטות שהוסבר לעיל, מפתחים יכולים להגדיר את ערכי ברירת מחדל של שדות struct ביעילות.