Avatar ·

كيفية تحويل interface{} إلى سلسلة نصية في Go؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة عند العمل مع النوع `interface{}`. لدي دالة تقوم بإرجاع `interface{}`، وأحتاج إلى الحصول على سلسلة نصية عادية من هذه القيمة لاستخدامها لاحقاً. إليك مثال على الكود: ```go package main import "fmt" func getValue() interface{} { return "Hello, World!" } func main() { val := getValue() // كيف يمكنني الآن الحصول على سلسلة نصية من val؟ fmt.Println(val) // يطبع "Hello, World!"، لكن val لا يزال من النوع interface{} } ``` المشكلة هي أنني لا أستطيع تطبيق عمليات السلاسل النصية على `val`. على سبيل المثال، محاولة استدعاء `len(val)` أو استخدام `val + "!"` تؤدي إلى خطأ في الترجمة: "invalid operation". لقد جربت التحويل البسيط للنوع: `val.(string)`، لكن هذا يبدو خطيراً، لأن