Latest web development tutorials

الذهاب اللغة وظيفة متكررة

العودية، هو للاتصال بهم في عملية التشغيل.

الصيغة كالتالي:

func recursion() {
   recursion() /* 函数调用自身 */
}

func main() {
   recursion()
}

الذهاب دعم اللغة العودية. ولكن عندما نستخدم العودية، تحتاج المطورين لوضع شرط الخروج، وإلا سوف نقع في حلقة متكررة لا نهائية.

وظائف العودية وحل المشكلات الرياضية مفيدة جدا، مثل مضروب، تولد عدد فيبوناتشي، وهلم جرا.


مضروب

تذهب من خلال الأمثلة التالية أمثلة لغة وظيفة مضروب متكررة:

package main

import "fmt"

func Factorial(x int) (result int) {
  if x == 0 {
    result = 1;	
  } else {
    result = x * Factorial(x - 1);
  }
  return;
}

func main() {  
    var i int = 15
    fmt.Printf("%d 的阶乘是 %d\n", i, Factorial(i))
}

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

15 的阶乘是 1307674368000

عدد فيبوناتشي

وحققت الأمثلة التالية من خلال وظيفة عودي العودة اللغة فيبوناتشي تسلسل فيبوناتشي:

package main

import "fmt"

func fibonaci(n int) int {
  if n < 2 {
   return n
  }
  return fibonaci(n-2) + fibonaci(n-1)
}

func main() {
    var i int
    for i = 0; i < 10; i++ {
       fmt.Printf("%d\t", fibonaci(i))
    }
}

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

0	1	1	2	3	5	8	13	21	34