English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل Golang الأساسي

تعليمات التحكم في Golang

وظائف Golang & طرق

هياكل Golang

قطع Golang & Arrays

كلمات Golang (String)

مؤشرات Golang

واجهات Golang

التعامل المتوازي في Golang

استثنائات Golang (Error)

متنوعات Golang

المباني المنغمسة في Go

الهيكلفي Golang هو نوع مستخدم معين، يسمح لنا بإنشاء مجموعة من عناصر مختلفة في وحدة واحدة. أي كيان حقيقي يمتلك مجموعة من الخصائص أو الحقول يمكن تمثيله كهيكل. يسمح لغة Go بنسق الهياكل. هيكل هو حقل في هيكل آخر، يُسمى هيكل منسق. بمعنى آخر، الهيكل في هيكل آخر يُسمى هيكل منسق.

النحو:

نوع	اسم الهيكل_1 struct{
  // الحقول
} 
نوع	اسم الهيكل_2 struct{
  اسم المتغير	اسم الهيكل_1
}

دعونا نناقش هذه المفاهيم باستخدام مثال:}}

//هيكل فرعي 
package main 
  
import "fmt"
  
//إنشاء هيكل
type Author struct { 
    name   string 
    branch string 
    year   int
} 
  
//إنشاء هيكل فرعي
type HR struct { 
  
    //هيكل الحقل
    details Author 
} 
  
func main() { 
  
    // تحديد حقل الهيكل 
    result := HR{       
        details: Author{"Sona", "ECE", 2013}, 
    } 
  
    //طباعة القيم الصادرة
    fmt.Println("\nتفاصيل المؤلف") 
    fmt.Println(result) 
}

الإخراج:

تفاصيل المؤلف
{{Sona ECE 2013}}

مثال هيكل فرعي2:

package main 
  
import "fmt"
  
//إنشاء هيكل 
type Student struct { 
    name   string 
    branch string 
    year   int
} 
  
//إنشاء هيكل فرعي
type Teacher struct { 
    name    string 
    subject string 
    exp     int
    details Student 
} 
  
func main() { 
  
    //تحديد حقل الهيكل
    result := Teacher{ 
        name:    "Suman", 
        subject: "Java", 
        exp:     5, 
        details: Student{"Bongo", "CSE", 2}, 
    } 
   
    fmt.Println("تفاصيل المدرس") 
    fmt.Println("اسم المدرس: ", result.name) 
    fmt.Println("التخصص: ", result.subject) 
    fmt.Println("الخبرة: ", result.exp) 
  
    fmt.Println("\nمعلومات الطالب") 
    fmt.Println("اسم الطالب: ", result.details.name) 
    fmt.Println("اسم قسم الطالب: ", result.details.branch) 
    fmt.Println("العمر: ", result.details.year) 
}

الإخراج:

تفاصيل المدرس
اسم المدرس:  Suman
التخصص:  Java
الخبرة:  5
معلومات الطالب
اسم الطالب:  Bongo
اسم قسم الطالب:  CSE
العمر:  2