Avatar ·

كيفية تحويل سلسلة نصية إلى عدد صحيح (int) في Go؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة تحويل سلسلة نصية إلى عدد صحيح. أحتاج إلى قراءة رقم من وسيط سطر الأوامر أو من ملف نصي، لكن في Go السلاسل النصية والأرقام هي أنواع مختلفة، ولا يمكن ببساطة تعيين سلسلة نصية لمتغير من نوع int. على سبيل المثال، لدي هذا الكود: ```go package main import "fmt" func main() { var s string = "42" var i int = s // خطأ! fmt.Println(i) } ``` المترجم يعطي خطأ: `cannot use s (type string) as type int in assignment`. أفهم أن هناك حاجة لتحويل صريح، لكن كيف يمكنني القيام بذلك بشكل صحيح؟ في Python كنت أكتب `int("42")`، أما في Go فإن `int(s)` لا يعمل. لقد جربت استخدام حزمة `strconv`، لكنني لم أفهم تماماً كيفية استخدامها. من فضلكم، أخبروني كيف يمكن تحويل سلسلة نصية إلى رقم في Go، وكيفية معالجة الأخطاء المحتملة إذا كانت السلسلة النصية ليست رقماً (على سبيل المثال، إذا أدخل المستخدم "abc" أو سلسلة فارغة)؟ سأكون ممتناً لأمثلة الكود مع الشرح.