استنتاج النوع باستخدام `:=`
جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 6 من 109.
دعونا نستكشف طريقة ملائمة لإنشاء وتهيئة القيم في Go باستخدام الاختصار :=. يُسمى هذا استنتاج النوع (type inference)، حيث تحدد Go تلقائيًا النوع الذي يجب أن تكون عليه بياناتك.
لإنشاء رسالة نصية، استخدم :=:
message := "Hello, Go!"
fmt.Println(message)بعد تشغيل هذا الكود، سترى Hello, Go! مطبوعاً على الكونسول. عرفت لغة Go تلقائياً أن message يجب أن يكون من نوع string.
لنقم بإنشاء رقم باستخدام :=:
age := 25
fmt.Println(age)يقوم هذا بطباعة 25 على وحدة التحكم. قام Go تلقائيًا بجعل age من نوع عدد صحيح (integer).
لنقم بإنشاء رقم عشري:
price := 19.99
fmt.Println(price)يطبع هذا 19.99 في وحدة التحكم. قامت لغة Go تلقائيًا بجعل price من نوع الفاصلة العائمة (floating-point).
التحدي
مبتدئفي هذا التحدي، ستتدرب على استخدام عامل := لاستنتاج النوع في Go.
يحتوي البرنامج بالفعل على بعض المتغيرات المصرح عنها باستخدام الكلمة المفتاحية var بأنواع صريحة. مهمتك هي التصريح عن متغيرين جديدين باستخدام صيغة الاختصار := التي تسمح لـ Go باستنتاج الأنواع تلقائيًا.
أكمل المهام (TODOs) في الكود لجعل البرنامج يطبع القيم الصحيحة.
ورقة مرجعية
استخدم المختصر := لاستنتاج النوع في Go، حيث تحدد Go نوع المتغير تلقائيًا:
إنشاء متغير نصي (string):
message := "Hello, Go!"
fmt.Println(message)إنشاء متغير عددي صحيح (integer):
age := 25
fmt.Println(age)إنشاء متغير بفاصلة عائمة (floating-point):
price := 19.99
fmt.Println(price)جرّب بنفسك
package main
import "fmt"
func main() {
// متغيرات تم التصريح عنها بأنواع صريحة
var name string = "Gopher"
var age int = 5
// TODO: صرّح عن متغير يسمى 'language' بالقيمة "Go" باستخدام صيغة :=
language ? "Go"
// TODO: صرّح عن متغير يسمى 'version' بالقيمة 1.18 باستخدام صيغة :=
version ? 1.18
// اطبع جميع المتغيرات
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Language:", language)
fmt.Println("Version:", version)
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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`ملخص - اتخاذ القرارات