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

2.7 KiB

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!") } `

معلومات اكثر:

https://tour.golang.org/basics/4