متن خبر

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

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

آرایه ها در go
شناسهٔ خبر: 113481 -




خبرکاو:

با خبرکاو همراه باشید

یک تابع ، گروهی از عبارات است که با هم یک کار را انجام می دهند.

هر برنامه 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 "fmt"

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( "Max value is : %d\n", 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 "fmt"

func swap(x, y string) (string, string) {
   return y, x
}
func main() {
   a, b := swap("Mahesh", "Kumar")
   fmt.Println(a, b)
}

 

تعریف حلقه تکرار در گو هم مانند دیگر زبان هاست اما با تفاوت سینتکسی ریز به مثال های زیر توجه کنید:

package main

import "fmt"

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("value of a: %d\n", a)
   }
   for a < b {
      a++
      fmt.Printf("value of a: %d\n", a)
   }
   for i,x:= range numbers {
      fmt.Printf("value of x = %d at %d\n", x,i)
   }   
}

اول دو متغیر تعریف کردیم بنام های a ,b بعد به حلقه ی تکرار وصل کردیم

همانطور که مشاهده میکنید تعریف لوپ در go همانند سی پلاس پلاس است ولی بدون پرانتز.

در حلقه ی تکرار آخر نیز ما از تابع رنج استفاده کردیم که این تابع یک پیمایش داخلی در خودش داره برای اعداد از یک عدد تا آخر بازه

همچنین هر یک از عدد های ایندکس رو در متغیر i , x میریزد

ما اینجا از تعریف سریع متغیر در فور استفاده کردیم با عملگر =:

این عملگر متغیر را تعریف میکند بدون درج کلمه ی var

 

ارسال نظر



ارسال پیامک بلک لیست


تبليغات ايهنا تبليغات ايهنا

طراحی و اجرا مهدی نوروزی -کليه حقوق تعلق دارد به سایت خبرکاو