تعریف تابع و حلقه تکرار و متغیر در گولنگ go

با خبرکاو همراه باشیدگویک تابع ، گروهی از عبارات است که با هم یک کار را انجام می دهند.هر برنامه Go حداقل دارای یک تابع است که اصلی main است .می توانید کد خود را به توابع جداگانه تقسیم کنید.نحوه تقسیم کد خود در بین عملکردهای مختلف به شما بستگی دارد ، اما از نظر منطقی ،تقسیم باید به گونه ای باشد که هر عملکرد یک کار خاص را انجام می دهد.تعریف عملکرد در زبان برنامه نویسی Go شامل یک هدر عملکرد و یک بدنه تابع است .در اینجا تمام قسمت های یک تابع آمده :Func – اعلان یک تابع را شروع می کند.نام تابع – این نام واقعی تابع است. نام تابع و لیست پارامترها در کنار هم امضای تابع را تشکیل می دهندپارامترها – یک پارامتر مانند حفره محل است. وقتی یک تابع فراخوانی می شود ، یک مقدار را به پارامتر منتقل می کنید.این مقدار به پارامتر یا آرگومان واقعی بيان کرد ه می شود. لیست پارامترها به نوع ، ترتیب و تعداد پارامترهای یک تابع اشاره داردپارامترها اختیاری هستند. یعنی یک تابع ممکن است بدون پارامتر باشدReturn Type – یک تابع ممکن است لیستی از مقادیر را برگرداند. Return_types لیستی از انواع داده های مقادیر بازده تابع است.برخی از توابع عملیات مورد نظر را بدون بازگشت یک مقدار انجام می دهند. در این حالت ، Return_type مورد نیاز نیست.بدنه ی تابع – شامل مجموعه ای از عبارات است که تابع را تعریف می کند.مثالکد منبع زیر تابعی به نام max() را نشان می دهد .این تابع دو پارامتر num1 و num2 را به خود می گیرد و حداکثر عدد را بین دو بازه می گرداند :/* function returning the max between two numbers */ func max(num1, num2 int) int { /* local variable declaration */ result int if (num1 > num2) { result = num1 } else { result = num2 } return result }فراخوانی یک تابعدر حین ایجاد یک تابع Go ، تعریفی از تابعی که باید کاری انجام دهد ارائه می دهید.برای استفاده از یک تابع ،برای انجام کار تعریف شده باید آن تابع را فراخوانی کنید.هنگامی که یک برنامه یک تابع فراخوانی می کند ، کنترل برنامه به تابع مد نظر منتقل می شود.تابع مد نظر یک کار تعریف شده را انجام می دهد و هنگامی که دستور بازگشت آن اجرا شد یا هنگامی که به پایان تابع رسید ،کنترل برنامه را به برنامه اصلی برمی گرداند.برای فراخوانی یک تابع ، کافی است پارامترهای مورد نیاز را به همراه نام تابع آن ارسال کنید.اگر تابع یک مقدار را برگرداند ، می توانید مقدار برگشتی را ذخیره کنید.به عنوان مثال:package main import &quotfmt&quot func main() { /* local variable definition */ var a int = 100 var b int = 200 var ret int /* calling a function to get max value */ ret = max(a, b) fmt.Printf( &quotMax value is : %d\n&quot, ret ) } /* function returning the max between two numbers */ func max(num1, num2 int) int { /* local variable declaration */ var result int if (num1 > num2) { result = num1 } else { result = num2 } return result }بازگرداندن مقادیر متعدد از تابعیک تابع Go می تواند مقادیر مختلفی را برگرداند.به عنوان مثال :package main import &quotfmt&quot func swap(x, y string) (string, string) { return y, x } func main() { a, b := swap(&quotMahesh&quot, &quotKumar&quot) fmt.Println(a, b) }تعریف حلقه تکرار در گو هم مانند دیگر زبان هاست اما با تفاوت سینتکسی ریز به مثال های زیر توجه کنید:package main import &quotfmt&quot func main() { var b int = 15 var a int numbers := [6]int{1, 2, 3, 5} /* for loop execution */ for a := 0; a < 10; a++ { fmt.Printf(&quotvalue of a: %d\n&quot, a) } for a < b { a++ fmt.Printf(&quotvalue of a: %d\n&quot, a) } for i,x:= range numbers { fmt.Printf(&quotvalue of x = %d at %d\n&quot, x,i) } }اول دو متغیر تعریف کردیم بنام های a ,b بعد به حلقه ی تکرار وصل کردیمهمانطور که مشاهده میکنید تعریف لوپ در go همانند سی پلاس پلاس است ولی بدون پرانتز.در حلقه ی تکرار آخر نیز ما از تابع رنج استفاده کردیم که این تابع یک پیمایش داخلی در خودش داره برای اعداد از یک عدد تا آخر بازههمچنین هر یک از عدد های ایندکس رو در متغیر i , x میریزدما اینجا از تعریف سریع متغیر در فور استفاده کردیم با عملگر =:این عملگر متغیر را تعریف میکند بدون درج کلمه ی var https://khabarkaav.ir/%d8%aa%d8%b9%d8%b1%db%8c%d9%81-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%8c%d8%ad%d9%84%d9%82%d9%87-%d8%aa%da%a9%d8%b1%d8%a7%d8%b1-%d9%88-%d9%85%d8%aa%d8%ba%db%8c%d8%b1-%d8%af%d8%b1-%da%af%d9%88%d9%84%d9%86%da%af/