"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تعلم الذهاب: 05

تعلم الذهاب: 05

تم النشر بتاريخ 2024-11-08
تصفح:770

Learning GO: 05

يا! أنا حاليًا أتعلم لغة Go Lang، وأقوم بتدوين بعض الملاحظات الأساسية حول مفهومي وعلى الرغم من أنني سأقوم بنشرها هنا أيضًا. إنها ليست مدروسة جيدًا أو مكتوبة بشكل جيد ولكنني فقط أقوم بتدوين الملاحظات من وقت لآخر كمرجع لي.

أنا آخذ دورة Udemy بواسطة ماكسيميليان شوارزمولر،


ملحوظات

تحديد الوظائف

  • يتم تعريف جميع الوظائف التي يحددها المستخدم أسفل الوظيفة الرئيسية
  • يمكن تعريف وظيفة في Go باستخدام الكلمة الأساسية func
  • يمكننا إضافة معلمات إلى الوظيفة، عند إضافة معلمات علينا تحديد نوع المعلمة

func outputText(text1 string, text2 string){
    fmt.Print()
}


  • إذا كانت المعلمات من نفس النوع فيمكننا تعريف المعلمة والحصول على النوع مرة واحدة فقط، فيجب علينا إضافة اسم المعلمة وفي النهاية إضافة نوع المعلمة

func outputText(text1, text2 string) {
    fmt.Print()
}


  • بعد ذلك يمكننا استخدامها مثل أي وظيفة أخرى بأي لغة

outputText("Investment Amount: ")
fmt.Scan(&investmentAmount)

func outputText(text1 string) {
    fmt.Print(text1)
}


  • في Go lang، يمكننا إرجاع قيم متعددة من دالة واحدة
  • في Go، يتم تحديد نطاق المتغيرات، مما يعني أن أي متغيرات محددة داخل الوظيفة أو الكتلة يتم تحديد نطاقها لتلك الوظيفة ويمكننا استخدامها خارج الوظيفة
  • يمكننا تعريف المتغيرات خارج الوظيفة الرئيسية أو أي وظيفة أخرى لجعلها نطاقًا عالميًا ومن ثم يمكننا استخدامها داخل أي وظيفة في الملف.
  • يمكننا فقط تعريف إعلان const وvar كإعلان عالمي، ولا يمكننا القيام بذلك لأي إعلان آخر
  • وهذا يعني:= لا يمكن استخدام بناء الجملة في النطاق العام

const inflationRate = 2.5

func main() {
    var investmentAmount float64 = 1000
    var years float64
    var expectedReturn = 5.5
}


  • عند إرجاع أي قيمة، علينا تحديد نوع الإرجاع للدالة
  • إذا أردنا قيمتين، فيجب علينا تغليفهما بين قوسين مستديرين، ثم تحديد نوع الإرجاع المحدد إلى نوعه
  • بهذا يمكننا تحديد أنواع معينة لأي قيمة إرجاع func Demo ()(float64, int){}

func calculateFutureValue(investmentAmount, expectedReturn, years float64) (float64, float64) {
    fv := (investmentAmount) * math.Pow(1 expectedReturn/100, float64(years))
    rfv := fv / math.Pow(1 inflationRate/100, years)
    return fv, rfv
}


  • عندما نريد تخزين القيم المرجعة في المتغير، يمكن أن يكون لدينا متغيرين بأسماء متغيرات مفصولة بفواصل

futureValue, futureRealValue := calculateFutureValue(investmentAmount, expectedReturn, years)


بيان الافراج تم نشر هذه المقالة على: https://dev.to/gaurav444/learning-go-05-2p9k?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3