2.7 KiB
title, localeTitle
| title | localeTitle |
|---|---|
| Go Functions | الذهاب وظائف |
الذهاب وظائف
تأخذ الدالة صفرًا أو أكثر من أي معلمة من أي نوع ، وتقوم ببعض المنطق معها وقد ترجع واحدة أو أكثر من القيم. بناء جملة الدالة Golang هو:
func sum(parameter1 int64, parameter2 int64) int64 {
return parameter1+parameter2
}
هنا ، اسم الوظيفة هو add . فإنه يأخذ إلى المعلمات ، parameter1 و parameter2 من النوع int64 وإرجاع int64 آخر ، مجموع المعلمتين.
إرجاع
بعد return التوصل، مخارج وظيفة دون تنفيذ المزيد من التعليمات البرمجية.
func sum(parameter1 int64, parameter2 int64) int64 {
return parameter1+parameter2
// Unreachable code
fmt.Printf("Don't print me")
}
استدعاء وظيفة
سيتم تسمية الوظيفة المذكورة أعلاه على النحو التالي:
sum(4, 5)
قيمة هذا التعبير هي 9.
احذف نوع المعلمة
إذا كانت معلمتان متتاليتان أو أكثر من نفس النوع ، فيمكن ذكرها مرة واحدة فقط.
function foo(x, y, z int64, name string) {
fmt.Printf("%d %d %d %s", x, y, z, name)
}
هنا x و y و z اكتب int64 ، name عبارة عن سلسلة.
إرجاع قيم متعددة
يمكن أن تقوم الدالة بإرجاع قيم الصفر أو أكثر. لإرجاع أي شيء ، احذف نوع الإرجاع:
function helloWorld() {
fmt.Printf("Hello world!")
}
لإرجاع قيمة واحدة حدد نوعه:
function getHelloWorld() string {
return "Hello world!"
}
لإرجاع أكثر من قيمة ، حدد أنواعها ، ملفوفة في () ومفصولة بفواصل:
function getHelloWorldAndBestLanguage() (string, string) {
return "Hello world!", "Golang"
}
لتلقي هذه القيم ، قم ببساطة بتعريف المتغيرات المفصولة بفواصل مثل:
helloWorld, bestLanguage := getHelloWorldAndBestLanguage()
// helloWorld == "Hello world!"
// bestLanguage == "Golang"
عوائد عارية
يمكنك تسمية أنواع الإرجاع بحيث لا تحتاج إلى تمرير متغير إلى بيان الإرجاع:
`func duplicate(s string) (first, second string) { first = s last = s return }
func main() { fmt.Println(split("Hello world!")) // ("Hello world!", "Hello world!") } `