English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل الأساسيات في جولانغ

تعليمات التحكم في جولانغ

الوظائف والأساليب في جولانغ

هيكليات جولانغ

قطع وتجميعات في جولانغ

الخطوط النصية في جولانغ (String)

مؤشرات جولانغ

واجهات جولانغ

التنافسية في جولانغ

غة جولانغ استثناء (الخطأ)

متنوعة أخرى من Golang

وظيفة مجهولة المصدر بلغة Go

يقدم لغة Go وظيفة خاصة تسمى وظيفة مجهولة المصدر. وظيفة مجهولة المصدر هي وظيفة لا تحتوي على أي اسم. هذه الوظيفة مفيدة جدًا عند إنشاء وظائف داخلة. يمكن للوظيفة مجهولة المصدر أن تشكل قفصًا مغلقًا في لغة Go. تُسمى وظيفة مجهولة المصدر أيضًاوظيفة كتابية.

القواعد النحوية:

    func(parameter_list) return_type {
        // كود
        // إذا تم تقديم return_type، استخدم جملة return
        // إذا لم يتم تقديم return_type، لا
        // استخدام جملة return
        return
    }()
package main 
  
import "fmt"
  
func main() { 
      
    // وظيفة مجهولة المصدر
   func() { 
  
      fmt.Println("Welcome! to oldtoolbag.com") 
  }() 
    
}

الإخراج:

مرحبًا! بكم في oldtoolbag.com

ملاحظة هامة:

  • في لغة Go، يمكنك تخصيص وظيفة مجهولة المصدر إلى متغير. عند تخصيص وظيفة إلى متغير، يكون نوع المتغير هو نوع الوظيفة، يمكنك إجراء مكالمة للمتغير كما تفعل مع الوظيفة، مثل المثال التالي.

    package main 
      
    import "fmt"
      
    func main() { 
          
        // تخصيص وظيفة مجهولة المصدر إلى متغير
       value := func() { 
          fmt.Println("Welcome! to oldtoolbag.com") 
      } 
      value() 
        
    }

    الإخراج:

    مرحبًا! بكم في oldtoolbag.com
  • يمكنك أيضًا إرسال معامل إلى وظيفة مجهولة المصدر.

    package main 
      
    import "fmt"
      
    func main() { 
          
        // إرسال معامل إلى وظيفة مجهولة المصدر
      func(ele string) { 
          fmt.Println(ele) 
      }("w3codebox") 
        
    }

    الإخراج:

    w3codebox
  • يمكنك أيضًا إرسال وظيفة مجهولة المصدر كمعامل إلى وظيفة أخرى.

    package main 
      
    import "fmt"
      
      
      // إرسال وظيفة مجهولة المصدر كمعامل  
     func GFG(i func(p, q string) string) { 
         fmt.Println(i("Geeks", "for")) 
           
     } 
        
    func main() { 
        value := func(p, q string) string { 
            return p + q + "Geeks"
        } 
        GFG(value) 
    }

    الإخراج:

    w3codebox
  • يمكنك أيضًا العودة إلى وظيفة مجهولة المصدر من وظيفة أخرى.

    package main 
      
    import "fmt"
      
     // عودة وظيفة مجهولة المصدر
     func GFG() func(i, j string) string { 
         myf := func(i, j string) string { 
              return i + j + "w3codebox"
         } 
        return myf 
     } 
        
    func main() { 
        value := GFG() 
        fmt.Println(value("Welcome ", "to")) 
    }

    الإخراج:

    مرحبًا بكم في w3codebox