Latest web development tutorials

الذهاب ظائف اللغة

وظيفة هي حجر الأساسي من التعليمات البرمجية لأداء هذه المهمة.

الذهاب اللغة وظيفة على الأقل الرئيسية ().

يمكنك تقسيم وظائف مختلفة عن طريق المنطق وظيفة لأداء كل وظيفة يتم تحديد المهمة.

إعلان وظيفة يحكي اسم المترجم وظيفة، نوع الإرجاع، والمعلمات.

الذهاب توفر المكتبة القياسية لغة مجموعة متنوعة من المدمج في وظائف يمكن استخدامها. على سبيل المثال، يمكن وظيفة ليون () يقبل أنواع مختلفة من الحجج وإرجاع نوع من الطول. إذا كنا تمرير يتم إرجاع طول سلسلة من السلسلة، إذا كانت الأرقام الواردة، تقوم الدالة بإرجاع عدد الواردة في المصفوفة.


تعريف وظيفة

ويعرف ذهاب وظيفة اللغة في شكل التالي:

func function_name( [parameter list] ) [return_types] {
   函数体
}

التحليلي تعريف الدالة:

  • ظائفها: تبدأ وظيفة بيان صادر عن وظائفها
  • FUNCTION_NAME: اسم الدالة، اسم وظيفة وقائمة المعلمة تشكل معا التوقيع وظيفة.
  • قائمة المعلمة]: قائمة معلمات، معلمة كعنصر نائب، عندما يتم استدعاء الدالة، يمكنك تمرير قيمة إلى المعلمة، وتسمى هذه القيمة المعلمات الفعلية. تحدد قائمة المعلمة نوع المعلمة، والنظام، وعدد من المعلمات. المعلمة اختيارية، لا يمكن أن تحتوي تلك الوظيفة المعلمات.
  • return_types: نوع المقابل، تقوم الدالة بإرجاع قيمة. return_types هو نوع بيانات قيمة العمود. لا تحتاج بعض وظائف لإرجاع قيمة، وفي هذه الحالة return_types يست ضرورية.
  • الجسم وظيفة: وظيفة محددة مجموعة من الرموز.

أمثلة

الأمثلة التالية هي الحد الأقصى () رمز وظيفة، أصدرت الدالة اثنين صحيح المعلمات NUM1 وNUM2، وإرجاع القيمة القصوى من هذه المعلمتين:

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 声明局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

استدعاء دالة

عند إنشاء وظيفة، عليك أن تحدد وظيفة ما يجب القيام به لأداء المهام المسندة عن طريق استدعاء الدالة التغيير.

استدعاء الدالة، تمرير المعلمات وظيفة وإرجاع القيم، على سبيل المثال:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 100
   var b int = 200
   var ret int

   /* 调用函数并返回最大值 */
   ret = max(a, b)

   fmt.Printf( "最大值是 : %d\n", ret )
}

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 定义局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

الأمثلة المذكورة أعلاه تدعو في الوظيفة الرئيسية () وظيفة ماكس ()، والنتيجة هي:

最大值是 : 200

وظيفة عودة قيم متعددة

الذهاب وظيفة يمكن إرجاع القيم متعددة، على سبيل المثال:

package main

import "fmt"

func swap(x, y string) (string, string) {
   return y, x
}

func main() {
   a, b := swap("Mahesh", "Kumar")
   fmt.Println(a, b)
}

الأمثلة أعلاه تنفيذ النتائج:

Kumar Mahesh

وسائط الدالة

إذا كانت المعلمات وظيفة، المتغير قد يتم الإشارة إلى المعلمة وظيفة.

المعلمات على النحو المحدد في وظائف المتغير المحلي في الجسم.

استدعاء الدالة، يمكنك تمرير المعلمات بطريقتين:

نوع التسليم وصف
نقل قيمة يتم تمرير قيمة عند استدعاء الدالة يشير إلى المعايير الفعلية التي تم تمريرها إلى وظيفة نسخة، بحيث إذا كان من الممكن تعديل المعلمات وظيفة، لن يؤثر على المعلمات الفعلية.
مرت بالرجوع يمر بالإشارة يشير إلى عند استدعاء وظيفة يمر عنوان المعلمة الفعلية للوظيفة، ثم وظيفة لتعديل المعلمات نفذت، سوف تؤثر على المعايير الفعلية.

افتراضيا، يتم تمرير لغة العودة من حيث القيمة، وهذا هو، خلال والدعوة لن يؤثر على المعلمات الفعلية.


استخدام وظيفة

استخدام وظيفة وصف
وظائف كقيم بعد تعريف الدالة كقيمة لاستخدام
الإغلاق وظائف مجهولة يمكن استخدام إغلاق في البرمجة الديناميكية
الطريق الطريقة هي وظيفة الذي يحتوي على المتلقي