درس هشتم برنامه نویسی گولنگ

درس هشتم برنامه نویسی گولنگ

درس هشتم برنامه نویسی گولنگ در مورد تابع که یکی از قسمت های مهم در هر زبان برنامه نویسی است. تابع بلوکی از عبارات است که می تواند به طور مکرر در یک برنامه استفاده شود. هنگام بارگیری صفحه، یک تابع به طور خودکار اجرا نمی شود. یک تابع با فراخوانی تابع اجرا خواهد شد. برای یادگیری زبان گولنگ می توانید از سایت آموزش برنامه نویسی در کرج به طور کامل و رایگان استفاده کنید.

ایجاد و فراخوانی تابع

برای ایجاد یک تابع، موارد زیر را انجام دهید:

۱)از کلمه کلیدی func استفاده کنید.

۲)یک نام برای تابع و به دنبال آن پرانتز () مشخص کنید.

۳)در نهایت، کدی را اضافه کنید که مشخص می‌‌کند عملکرد باید چه کاری انجام دهد.

Syntax

}()func FunctionName
// code to be executed
{

 

توابع بلافاصله اجرا نمی شوند و زمانی استفاده می شوند که آن ها صدا زده شوند یا به اصطلاح call کنند.

در مثال زیر تابعی به نام myMessage()  ایجاد می‌کنیم. برای فراخوانی تابع، فقط نام آن را به همراه دو پرانتز بنویسید:

package main
import (“fmt”)

}()func myMessage
fmt.Println(“I just got executed!”)
{func main
myMessage() // call the function
{

درس هشتم برنامه نویسی گولنگ

قوانین نامگذاری برای توابع Go

۱) نام تابع باید با یک حرف شروع شود.

۲) نام تابع فقط می‌تواند شامل نویسه‌های عددی و زیرخط باشد (A-z، 0-9 و _ )

۳) نام توابع به حروف بزرگ و کوچک حساس هستند

۴) نام تابع نمی تواند شامل فاصله باشد

۵) اگر نام تابع از چند کلمه تشکیل شده باشد، می توان از تکنیک های معرفی شده برای نامگذاری متغیر چند کلمه ای استفاده کرد

نکته: نامی به تابع بدهید که نشان دهنده عملکرد آن باشد!

اطلاعات را می توان به عنوان یک پارامتر به توابع ارسال کرد. پارامترها به عنوان متغیر در داخل تابع عمل می کنند.

پارامترها و انواع آنها بعد از نام تابع در داخل پرانتز مشخص می شود. شما می توانید هر تعداد پارامتر را که می خواهید اضافه کنید، فقط آنها را با یک کاما جدا کنید:

پارامترها و آرگومان ها

اطلاعات را می توان به عنوان یک پارامتر به توابع ارسال کرد. پارامترها به عنوان متغیر در داخل تابع عمل می کنند.

پارامترها و انواع آنها بعد از نام تابع در داخل پرانتز مشخص می شود. شما می توانید هر تعداد پارامتر را که می خواهید اضافه کنید، فقط آنها را با یک کاما جدا کنید:

 

 

Syntax

}func FunctionName(param1 typeparam2 typeparam3 type)
// code to be executed
{

مثالی برای قرار دادن پارامتر در تابع

package main
import (“fmt”)

}func familyName(fname string)
fmt.Println(“Hello”, fname, “Refsnes”)
{

}()func main
familyName(“Liam”)
familyName(“Jenny”)
familyName(“Anja”)
{

درس هشتم برنامه نویسی گولنگ

تابع بازگشتی

اگر می‌خواهید تابع مقداری را برگرداند، باید نوع داده مقدار بازگشتی را تعریف کنید (مانند int، string و غیره) و همچنین از کلمه کلیدی return در داخل تابع استفاده کنید:

Syntax

}func FunctionName(param1 typeparam2 typetype
// code to be executed
return output
{

به عنوان مثال

package main
import (“fmt”)

}func myFunction(x int, y int) int
return x + y
{

}()func main
fmt.Println(myFunction(1, 2))
{

 

اگر (به دلایلی) نمی‌خواهیم از برخی از مقادیر برگشتی استفاده کنیم، می‌توانیم یک خط زیر (_) اضافه کنیم تا این مقدار را حذف کنیم.

در اینجا، می خواهیم اولین مقدار بازگشتی (نتیجه – که در متغیر a ذخیره می شود) را حذف کنیم:

package main
import (“fmt”)

}func myFunction(x int, y string) (result int, txt1 string)
result = x + x
txt1 = y + ” World!”
return
{

}()func main
_, b := myFunction(5, “Hello”)
fmt.Println(b)
{

بازگشت

Go توابع بازگشتی را می پذیرد. یک تابع اگر خود را فراخوانی کند و به یک شرط توقف برسد بازگشتی است.

در مثال زیر، testcount()  تابعی است که خود را فراخوانی می کند. ما از متغیر x به عنوان داده استفاده می کنیم که هر بار که تکرار می کنیم با  (x + 1) افزایش می یابد. بازگشت زمانی به پایان می رسد که متغیر x برابر با 11 باشد  (x == 11).

package main
import (“fmt”)

func testcount(x int) int
}  if x == 11
return 0
{
fmt.Println(x)
return testcount(x + 1)
{

}()func main
testcount(1)

{

درس هشتم برنامه نویسی گولنگ

بازگشت یک مفهوم رایج ریاضی و برنامه نویسی است. این مزیت این است که می توانید داده ها را برای رسیدن به نتیجه حلقه بزنید.

باید مراقب توابع بازگشتی باشد، زیرا نوشتن تابعی که هرگز خاتمه نمی‌یابد یا از مقدار زیادی حافظه یا قدرت پردازنده استفاده می‌کند، بسیار آسان است. با این حال، زمانی که به درستی نوشته شود، بازگشت می تواند یک رویکرد بسیار کارآمد و از نظر ریاضی ظریف برای برنامه نویسی باشد.

در مثال زیر، factorial_recursion()  تابعی است که خود را فراخوانی می کند. ما از متغیر x به عنوان داده استفاده می کنیم که هر بار که تکرار می کنیم (-1) کاهش می یابد. بازگشت زمانی به پایان می رسد که شرط از 0 بیشتر نباشد (یعنی زمانی که 0 باشد). درغیر این صورت y را برابر یک قرار می دهیم.

package main
import (“fmt”)
}func factorial_recursion(x float64) (y float64)
}  if x > 0
y = x * factorial_recursion(x-1)
} else {
y = 1
{
return
{

}()func main
fmt.Println(factorial_recursion(4))

{

برای یادگیری درس نهم برنامه نویسی گولنگ اینجا کلیک کن.

فهرست مطالب