كيفية إنشاء حرفي *int64 في Go؟ التهيئة المباشرة لمؤشر إلى رقم
مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة أثناء العمل مع المؤشرات. أحتاج إلى تمرير مؤشر إلى int64 إلى دالة، لكنني لا أريد إنشاء متغير منفصل. على سبيل المثال، لدي دالة:
```go
func SetValue(val *int64) {
*val = 42
}
```
أريد استدعاءها هكذا:
```go
SetValue(&123) // خطأ: cannot take address of 123
```
لكن المترجم يعطي خطأ لأنه لا يمكن أخذ عنوان من حرفي. جربت:
```go
SetValue(&int64(123)) // خطأ أيضاً
```
وحتى:
```go
SetValue(&(int64(123))) // لا يعمل
```
كيف يمكنني إنشاء حرفي *int64 بشكل فوري؟ أحتاج إلى تمرير مؤشر إلى الرقم 123 دون تعريف متغير منفصل. في لغات أخرى، مثل C، يتم ذلك ببساطة: &(int){123}. هل يوجد مكافئ في Go؟ أم فقط من خلال متغير مساعد؟ شكراً مسبقاً على المساعدة!
<<>>
المشكلة: لماذا لا يمكن أخذ عنوان من حرفي؟
في Go، لا يمكنك أخذ عنوان من حرفي (مثل