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

دليل أساسي Golang

تعليمات التحكم في Golang

وظائف & طرق Golang

بنية Golang

قطع & مصفوفات Golang

كلمات Golang (String)

مؤشرات Golang

واجهات Golang

التعامل المتناقض في Golang

استثناءات Golang (Error)

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

دالة main و دالة init في Go

حفظت لغة Go إثنين من الوظائف الخاصة بالاستخدام، وهيmain()وinit()وظيفة.

وظيفة main

في لغة Go،mainالنظام هو حزمة خاصة تستخدم مع البرنامج القابل للتنفيذ، ويشمل هذا الحزمةmain()الوظيفة.main()الوظيفة هي نوع خاص من الوظائف، وهي نقطة الدخول للبرنامج القابل للتنفيذ. لا تحتوي على أي معلمات ولا تعود بأي شيء. نظرًا لأنها يمكن تفعيلها تلقائيًاmain()وظيفة، لذا لا تحتاج إلى استدعاؤها بشكل صريحmain()وظيفة، ويجب أن تحتوي كل برنامج قابل للتنفيذ على package main وmain()وظيفة.

// إعلان الحزمة الرئيسية
package main
// استيراد الحزم
import (
    "fmt"
    "sort"
    "strings"
    "time"
)
func main() {
    // ترتيب قطعة النصوص
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("قطعة النصوص بعد الترتيب: ", s)
    // البحث عن قيمة المؤشر
    fmt.Println("قيمة المؤشر: ", strings.Index("w3codebox", "ks"))
    // عرض التوقيت الحالي
    fmt.Println("توقيت: ", time.Now().Unix())
}

الناتج:

قطعة النصوص بعد الترتيب: [2 5 10 76 78 123 345 567]
قيمة المؤشر: -1
توقيت: 1593335332

وظيفة init()

تُشبه وظيفة init() وظيفة main، وهي لا تأخذ أي معاملات ولا تعود بأي شيء. تتوفر هذه الوظيفة في كل حزمة، ويُدعى بها عند تحديد الحزمة. هذه الوظيفة معلنة بشكل تلقائي، لذا لا يمكنك استدعاؤها من أي مكان، ويمكنك إنشاء عدة وظائف init() في نفس البرنامج، وستُتت�行 وفقًا لترتيب إنشائها. يمكنك إنشاء وظيفة init() في أي مكان في البرنامج، وستُدعى بالترتيب الأبجدي (الترتيب الأبجدي) للملفات. ويسمح لك بوضع جمل في وظيفة init()، ولكن تذكر دائمًا تنفيذ وظيفة init() قبل وظيفة main()، لذا لا تعتمد على وظيفة main().   يهدف وظيفة init() الرئيسية إلى تحديد المتغيرات العالمية التي لا يمكن تحديد her في سياق عالمي.

package main 
  
import "fmt"
  
// عدة وظائف init() 
func init() { 
    fmt.Println("مرحبًا بكم في وظيفة الـ init()") 
} 
  
func init() { 
    fmt.Println("مرحبًا! وظيفة الـ init()") 
} 
  
func main() { 
    fmt.Println("مرحبًا بكم في وظيفة الماين() الرئيسية") 
}

الناتج:

مرحبًا بكم في وظيفة الـ init()
مرحبًا! وظيفة الـ init()
مرحبًا بكم في وظيفة الماين() الرئيسية