English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
نوع البيانات الذي يحدده المفرداتم変量 Goنوع البيانات الذي يمكن حفظه. في لغة Go، يتم تصنيف الأنواع إلى أربعة أنواع كما يلي:
النوع الأساسي:الأرقام، النصوص والقيم الحقيقية تنتمي لهذا الفئة.
نوع التجميع:المجمعات والبنيات تنتمي لهذا الفئة.
نوع الاستدلال:المراجع، القصص، المجموعات، الدوال والقنوات تعتبر من هذا الفئة.
نوع الاتصال
في هذا السياق، سنناقش أنواع الدوال في لغة Goنوع البيانات الأساسي. فينوع البيانات الأساسيتقسم إلى ثلاثة فئات فرعية هي:
العددية
الصحيحة
الشروحات
في لغة Go، الأعداد مقسومة إلىثلاثةفئة الفرعية:
الأعداد الصحيحة:في لغة Go، الأعداد الصحيحة والغير صحيحة يمكن استخدامها بأربعة أحجام مختلفة كما هو موضح في الجدول أدناه. الأعداد الصحيحة تمثلها int، والأعداد غير الصحيحة تمثلها uint.
نوع البيانات | وصف |
---|---|
int8 | رقم صحيح معين 8 بت |
int16 | رقم صحيح معين 16 بت |
int32 | رقم صحيح معين 32 بت |
int64 | رقم صحيح معين 64 بت |
uint8 | رقم صحيح غير معين 8 بت |
uint16 | رقم صحيح غير معين 16 بت |
uint32 | رقم صحيح غير معين 32 بت |
uint64 | رقم صحيح غير معين 64 بت |
int | uint و in يحتويان على نفس الحجم، سواء كان 32 بت أو 64 بت. |
uint | uint و in يحتويان على نفس الحجم، سواء كان 32 بت أو 64 بت. |
rune | هو نفس نوع int32، ويشير أيضًا إلى رمز Unicode. |
byte | هو نفس نوع int8. |
uintptr | هو نوع غير معين العرض، ولكن يمكنه احتواء جميع الحروف الخاصة بالمراجع. |
// استخدام الأعداد الصحيحة package main import "fmt" func main() { // استخدام نوع الكتلة غير السعوية 8 بت var X uint8 = 225 fmt.Println(X+1, X) // استخدام نوع الكتلة السعوية 16 بت var Y int16 = 32767 fmt.Println(Y+2, Y-2) }
الإخراج:
226 225 -32767 32765
الأعداد العشرية:في لغة Go، الأعداد العشرية مقسومة إلى2مثل ما هو موضح في الجدول أدناه:
نوع البيانات | وصف |
---|---|
float32 | رقم عشري 32 بت حسب IEEE 754 |
float64 | رقم عشري 64 بت حسب IEEE 754 |
// استخدام الأعداد العشرية package main import "fmt" func main() { a := 20.45 b := 34.89 // طرح إثنين من الأعداد العشرية c := b-a // عرض النتيجة fmt.Printf("النتيجة: %f", c) // عرض نوع المتغير c fmt.Printf("\nc نوعه هو: %T", c) }
الإخراج:
النتيجة: 14.440000 نوع c هو: float64
العدد المركب:يقسم العدد المركب إلى جزأين كما هو موضح في الجدول التالي. أيضًا، float32 و float64 جزء من هذه الأعداد المركبة. يعمل الدالة المدمجة من جزء المضاد والجزء الحقيقي لإنشاء عدد مركب، وتعمل الدوال المدمجة المخصصة على استخراج هذه الأجزاء.
نوع البيانات | وصف |
---|---|
complex64 | يحتوي العدد المركب على جزء حقيقي و جزء معقد كنوع float32. |
complex128 | الأعداد المركبة تحتوي على float64 كجزء حقيقي وجزء مجرد. |
//استخدام الأعداد المركبة package main import "fmt" func main() { var a complex128 = complex(6, 2) var b complex64 = complex(9, 2) fmt.Println(a) fmt.Println(b) //عرض النوع fmt.Printf("نوع a هو %T و"+"نوع b هو %T", a, b) }
الإخراج:
(6+2i) (9+2i) نوع a هو complex128 ونوع b هو complex64
نوع البيانات الحقيقي يمثل فقط true أو false. لا يمكن تحويل قيمة نوع البيانات الحقيقي بسرعة أو بوضوح إلى أي نوع آخر.
//استخدام القيم الحقيقية package main import "fmt" func main() { //متغيرات str1 := "w3codebox" str2 := "w3codebox" str3 := "w3codebox" result1 := str1 == str2 result2 := str1 == str3 //إظهار النتائج fmt.Println(result1) fmt.Println(result2) //عرض نوع result1 وresult2 fmt.Printf("result1 نوعه هو %T، "+"result2 نوعه هو %T", result1, result2) }
الإخراج:
true true نوع result1 هو bool، ونوع result2 هو bool
نوع البيانات السلسلة يمثل سلسلة من نقاط الشيفرة Unicode. بمعنى آخر، يمكننا القول بأن السلسلة هي سلسلة من الأحرف الثابتة من الثمانية، مما يعني أنه لا يمكنك تعديل السلسلة بعد إنشائها. يمكن للسلسلة أن تحتوي على أي بيانات، بما في ذلك إدراج القيم التي تعتبر صفرًا بصيغة يمكن قراءتها من قبل الإنسان.
//استخدام السلسلة package main import "fmt" func main() { //للإشارة إلى المتغير str المستخدم لتخزين السلسلة str := "w3codebox" //عرض طول السلسلة fmt.Printf("طول السلسلة:%d", len(str)) //عرض السلسلة fmt.Printf("\nالسلسلة هي: %s", str) // عرض نوع المتغير str fmt.Printf("\nنوع str هو: %T", str) }
الإخراج:
طول السلسلة:5 السلسلة هي: w3codebox نوع str هو: string