هنا يمكننا تخزين الاسم الأول للمستخدم واسم العائلة وعنوان البريد الإلكتروني والعمر. يتبع اسم الخاصية نوع البيانات التي نريد تخزينها. على سبيل المثال ، الخاصية `FirstName` هي `string` بينما تكون الخاصية `Age``int` .
### خلق الأشياء
لتهيئة كائن جديد ، يمكننا استخدام صيغة Go المختصرة لإنشاء وتعيين المتغيرات. يمكننا إما تمرير البيانات في هذه المرحلة أو تعيين البيانات في وقت لاحق:
Go تمكن من تخصيص طرق للبنى. يتيح ذلك تجميع العمليات ذات الصلة بالبيانات التي تؤثر عليها. في هذا المثال ، سنكتب طريقة في بنية `User` لإنشاء الاسم الكامل للمستخدم:
ستنضم هذه الطريقة إلى الاسم الأول والأخير للمستخدم مع وجود مسافة بينهما. قد يبدو استدعاء الطريقة كما يلي:
` println(user1.FullName())
`
### العلامات الهيكلية
تُستخدم علامات الهيكل لتعديل كيفية معالجة برامج التشفير للبيانات. على سبيل المثال ، تعيين أسماء المفاتيح عند الترميز إلى JSON:
``type User struct {
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
Age int `json:"age"`
}
``
### البيانات المصدرة
يمكن أن تحتوي الهياكل على كل من المصدرين (العام) والخصائص غير المُصدرة (الخاصة). يتم تعيين هذا إما عن طريق وجود حرف كبير لأول حرف للتصدير أو الحرف الأول صغير لم يتم تصديره. في هذا المثال ، سنجعل خاصية البريد الإلكتروني خاصة: