تهيئة الـ Structs
جزء من قسم الأساسيات في رحلة GO على Coddy. الدرس 98 من 109.
توجد طرق متعددة لتهيئة هياكل البيانات في 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}التحدي
مبتدئفي هذا التحدي، ستتدرّب على تهيئة بنية في Go. لقد عرّفنا بنية Person تحتوي على حقول للاسم والعمر وما إذا كان الشخص موظفًا.
مهمتك هي تهيئة مثيل جديد من بنية Person بالمعلومات التالية:
- Name: "Alice"
- Age: 28
- IsEmployed: true
بعد ذلك، سنطبع معلومات هذا الشخص.
جرّب بنفسك
package main
import "fmt"
// تعريف هيكل Person
type Person struct {
Name string
Age int
IsEmployed bool
}
func main() {
// TODO: Initialize a Person struct with name "Alice", age 28, and isEmployed true
// استخدم إما أسماء الحقول أو صيغة الـ 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
تعريف أنواع مخصصةإنشاء نماذج من الـ Structsالوصول إلى حقول الـ Structالمؤشرات إلى الـ Structsتهيئة الـ Structsالـ Structs المضمنةالـ Structs المجهولةمراجعة - هياكل البيانات المخصصة2المتغيرات وأنواع البيانات الأساسية
ما هو المتغير؟استنتاج النوع باستخدام `:=`الأعداد الصحيحة (int)أرقام الفاصلة العائمةالقيم المنطقية (Booleans)النصوص (Strings)القيم الصفريةالثوابتقواعد التسميةملخص - المتغيرات والأنواع5الإدخال والإخراج الأساسي
المخرجات المنسقةرموز التنسيقطباعة الأنواعالحصول على مدخلات المستخدم الأساسيةملخص - الإدخال والإخراج8الدوال
فهم الدوالالتصريح عن دالةاستدعاء الدوالمعاملات الدالةإرجاع قيمة واحدةإرجاع قيم متعددةقيم الإرجاع المسماةأساسيات نطاق الدالةملخص - إنشاء كود قابل لإعادة الاستخدام3المعاملات الأساسية
المعاملات الحسابيةمعامل القسمةمعامل باقي القسمةمعامل التعيينمعاملات التعيين المركبةالزيادة والنقصانملخص - الحسابات6تدفق التحكم: الجمل الشرطية
جملة `if`الكلمة المفتاحية `else`الكلمة المفتاحية `else if`تظليل المتغيرات في `if`تهيئة المتغيراتجملة `switch``switch` مع التعبيرات`switch` بدون تعبيرالكلمة المفتاحية `fallthrough`ملخص - اتخاذ القراراتتدرّب بنفسك: مترجم Go عبر الإنترنت