أرقام الفاصلة العائمة
جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 8 من 109.
دعونا نتعلم عن أرقام الفاصلة العائمة في Go، والتي نستخدمها لتخزين القيم العشرية.
أولاً، لنقم بالتصريح عن متغير بنقطة عائمة مع تحديد النوع بشكل صريح:
var price float64 = 19.99
fmt.Println("Price:", price)بعد تنفيذ هذا الكود، ستظهر النتيجة التالية على الشاشة:
Price: 19.99لقد أنشأنا متغيراً يمكنه تخزين أرقام عشرية.
في لغة Go، هناك نوعان من أنواع الفاصلة العائمة (floating-point): float32 و float64. لنرى كيفية استخدام float32:
var temperature float32 = 23.5
fmt.Println("Temperature:", temperature)بعد تنفيذ هذا الكود، ستظهر النتيجة التالية على الشاشة:
Temperature: 23.5الفرق بين float32 و float64 هو الدقة والنطاق. float64 يستخدم 64 بت ويوفر دقة أعلى (حوالي 15-17 رقماً عشرياً) بينما float32 يستخدم 32 بت بدقة أقل (حوالي 6-9 أرقام عشرية).
بالنسبة لمعظم التطبيقات، يُوصى بـ float64 لأنه أكثر دقة.
الآن، دعنا نستخدم استنتاج النوع (type inference) في لغة Go لإنشاء رقم بفاصلة عائمة بشكل أكثر بساطة:
temperature := 23.5 // تستخدم Go تلقائياً float64
fmt.Println("Temperature:", temperature)بعد تنفيذ هذا الكود، سترى ما يلي على الشاشة:
Temperature: 23.5عندما تدرج نقطة عشرية في رقم، تعاملها لغة Go تلقائيًا على أنها من النوع float64.
دعونا نجرب بعض العمليات الحسابية الأساسية باستخدام أرقام الفاصلة العائمة:
radius := 5.0
pi := 3.14159
area := pi * radius * radius
fmt.Println("Circle area:", area)بعد تنفيذ هذا الكود، سترى ما يلي على الشاشة:
Circle area: 78.53975تسمح لنا أرقام الفاصلة العائمة بإجراء العمليات الحسابية باستخدام القيم العشرية.
التحدي
مبتدئفي هذا التحدي، ستتدرب على العمل مع الأرقام العشرية (floating-point numbers) في لغة Go.
تُستخدم الأرقام العشرية لتمثيل القيم العشرية في لغة Go. هناك نوعان رئيسيان: float32 و float64، حيث يُعد float64 الأكثر استخداماً لأنه يوفر دقة أكبر.
مهمتك هي التصريح عن متغير عشري وطباعته على وحدة التحكم (console).
جرّب بنفسك
package main
import "fmt"
func main() {
// بعض الأمثلة على أرقام الفاصلة العائمة
pi := 3.14159
temperature := 72.5
// مهام: قم بالتصريح عن متغير float64 جديد باسم 'height' بالقيمة 5.9
height := ?
// طباعة المتغيرات الموجودة
fmt.Println("Pi approximately equals:", pi)
fmt.Println("The temperature is:", temperature)
// مهام: اطبع متغير 'height' الجديد الخاص بك مع رسالة وصفية
fmt.Println("The height is:", ?)
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمعاملات المنطقية
معاملات المقارنة - الجزء 1معاملات المقارنة - الجزء 2معامل AND المنطقيمعامل OR المنطقيمعامل NOT المنطقيأساسيات أولوية المعاملاتملخص - إجراء المقارنات7تدفق التحكم: الحلقات التكرارية
شرح حلقة `for`حلقة `for` - أساسياتحلقة `for` - بشرط فقطالكلمة المفتاحية `break`الكلمة المفتاحية `continue`الحلقات المتداخلةملخص - تكرار العمليات2المتغيرات وأنواع البيانات الأساسية
ما هو المتغير؟استنتاج النوع باستخدام `:=`الأعداد الصحيحة (int)أرقام الفاصلة العائمةالقيم المنطقية (Booleans)النصوص (Strings)القيم الصفريةالثوابتقواعد التسميةملخص - المتغيرات والأنواع5الإدخال والإخراج الأساسي
المخرجات المنسقةرموز التنسيقطباعة الأنواعالحصول على مدخلات المستخدم الأساسيةملخص - الإدخال والإخراج8الدوال
فهم الدوالالتصريح عن دالةاستدعاء الدوالمعاملات الدالةإرجاع قيمة واحدةإرجاع قيم متعددةقيم الإرجاع المسماةأساسيات نطاق الدالةملخص - إنشاء كود قابل لإعادة الاستخدام3المعاملات الأساسية
المعاملات الحسابيةمعامل القسمةمعامل باقي القسمةمعامل التعيينمعاملات التعيين المركبةالزيادة والنقصانملخص - الحسابات6تدفق التحكم: الجمل الشرطية
جملة `if`الكلمة المفتاحية `else`الكلمة المفتاحية `else if`تظليل المتغيرات في `if`تهيئة المتغيراتجملة `switch``switch` مع التعبيرات`switch` بدون تعبيرالكلمة المفتاحية `fallthrough`ملخص - اتخاذ القرارات