معامل العنوان (Address-Of)
جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 62 من 109.
يقوم عامل العنوان (&) بجلب عنوان الذاكرة لمتغير ما. هذه هي الطريقة التي ننشئ بها المؤشرات (pointers) في لغة Go.
أنشئ متغيرًا واحصل على عنوان ذاكرته:
func main() {
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)
}يوضح المخرج القيمة وعنوان الذاكرة الخاص بها:
Value: 42
Address: 0xc000018030العنوان (مثل 0xc000018030) هو رقم سداسي عشري يمثل موقع الذاكرة حيث يتم تخزين القيمة. سيكون هذا العنوان مختلفاً في كل مرة تقوم فيها بتشغيل البرنامج.
التحدي
مبتدئ&) في لغة Go. يقوم عامل العنوان بإرجاع عنوان الذاكرة لمتغير ما، وهو المكان الذي يتم فيه تخزين قيمة المتغير في ذاكرة الكمبيوتر.مهمتك هي استخدام عامل العنوان للحصول على عنوان الذاكرة للمتغير المقدم وتخزينه في متغير المؤشر الذي تم التصريح عنه بالفعل.
ورقة مرجعية
يحصل عامل العنوان (&) على عنوان الذاكرة لمتغير ويُستخدم لإنشاء المؤشرات في لغة Go.
number := 42
addressOfNumber := &number
fmt.Println("Value:", number)
fmt.Println("Address:", addressOfNumber)يتم عرض العنوان كرقم سداسي عشري (مثل 0xc000018030) يمثل موقع الذاكرة حيث يتم تخزين القيمة. سيكون هذا العنوان مختلفاً في كل مرة تقوم فيها بتشغيل البرنامج.
جرّب بنفسك
package main
import "fmt"
func main() {
// هذا هو متغيرنا النموذجي
name := "Gopher"
// هذا يعلن عن متغير مؤشر لتخزين عنوان سلسلة نصية
var namePointer *string
// TODO: استخدم عامل العنوان (&) للحصول على عنوان الذاكرة لـ 'name'
// وتخزينه في متغير 'namePointer'
// طباعة القيمة التي يشير إليها المؤشر
fmt.Printf("The value at that memory address is: %v\n", *namePointer)
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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`ملخص - اتخاذ القرارات