freeCodeCamp/guide/arabic/go/functions/index.md

94 lines
2.7 KiB
Markdown
Raw Normal View History

---
title: Go Functions
localeTitle: الذهاب وظائف
---
## الذهاب وظائف
تأخذ الدالة صفرًا أو أكثر من أي معلمة من أي نوع ، وتقوم ببعض المنطق معها وقد ترجع واحدة أو أكثر من القيم. بناء جملة الدالة 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!")
}
`
#### معلومات اكثر:
https://tour.golang.org/basics/4