الوصول إلى حقول الـ Struct
جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 96 من 109.
للوصول إلى الحقول في الـ struct، استخدم تدوين النقطة (structVariable.fieldName).
أنشئ هيكل (struct) باسم Person وقم بالوصول إلى حقوله:
type Person struct {
name string
age int
}
func main() {
person := Person{name: "Alice", age: 30}
// الوصول إلى الحقول الفردية
fmt.Println(person.name)
fmt.Println(person.age)
}يُظهر المخرج قيم الحقول الفردية:
Alice
30يمكنك أيضاً تعديل قيم الحقول باستخدام نفس تدوين النقطة (dot notation):
person.age = 31
fmt.Println(person.age) // يطبع: 31التحدي
سهلفي هذا التحدي، ستتدرب على الوصول إلى الحقول من struct. لقد قمنا بتعريف struct باسم Person يحتوي على الحقول name و age و isStudent.
مهمتك هي الوصول إلى هذه الحقول وطباعتها باستخدام format verbs الصحيحة.
ورقة مرجعية
للوصول إلى الحقول في هيكل (struct)، استخدم تدوين النقطة (structVariable.fieldName):
type Person struct {
name string
age int
}
func main() {
person := Person{name: "Alice", age: 30}
// الوصول إلى الحقول الفردية
fmt.Println(person.name)
fmt.Println(person.age)
}يمكنك أيضاً تعديل قيم الحقول باستخدام تدوين النقطة:
person.age = 31
fmt.Println(person.age) // يطبع: 31جرّب بنفسك
package main
import "fmt"
func main() {
// هيكل Person مع ثلاثة حقول
type Person struct {
name string
age int
isStudent bool
}
// عينة لشخص
john := Person{
name: "John Doe",
age: 25,
isStudent: true,
}
// TODO: اطبع اسم john باستخدام fmt.Printf ورمز التنسيق %s
fmt.Printf("Name: %s\n", ?)
// TODO: اطبع عمر john باستخدام fmt.Printf ورمز التنسيق %d
fmt.Printf("Age: %d\n", ?)
// TODO: اطبع ما إذا كان john طالباً باستخدام fmt.Printf ورمز التنسيق %t
fmt.Printf("Is student: %t\n", ?)
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
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`ملخص - اتخاذ القرارات