مشخصات مقاله
-
0.0
-
960
-
0
-
0
آموزش توابع در Golang
در زبان برنامه نویسی Go توابع بلوک های اصلی ساختار برنامه هستند. یک تابع برای تقسیم یک مسئله بزرگ به وظایف کوچکتر استفاده می شود. ما می توانیم یک تابع را چندین بار فراخوانی کنیم، از این رو توابع قابلیت استفاده مجدد کد را ارتقا می دهند.
3 نوع عملکرد در Go وجود دارد:
- توابع نرمال با یک شناسه
- توابع ناشناس یا لامبدا
- متد (یک تابع با گیرنده)
پارامترهای تابع، مقادیر بازگشتی، همراه با انواع داده، function signature نامیده می شود.
تابع را نمی توان در داخل تابع دیگری فراخوانی کرد. اگر میخواهیم به این هدف برسیم، میتوانیم این کار را با تابع Anonymous انجام دهیم.
مثال
package main
import "fmt"
type Employee struct {
fname string
lname string
}
func (emp Employee) fullname(){
fmt.Println(emp.fname+" "+emp.lname)
}
func main() {
e1 := Employee{ "پیمان","کلانتری"}
e1.fullname()
}
خروجی:
پیمان کلانتری
تابع بازگشتی در زبان Go
نمونه ای از تابع با مقدار بازگشتی :
package main
import (
"fmt"
)
func fun() int {
return 123456789
}
func main() {
x := fun()
fmt.Println(x)
}
خروجی:
123
تابع بازگشتی چندگانه در زبان Go
بیایید نمونه ای از تابعی را ببینیم که n عدد از نوع int را به عنوان آرگومان می گیرد و دو مقدار int را برمی گرداند. مقادیر برگشتی در تابع فراخوانی در یک تخصیص موازی دریافت می شوند.
مثال Go function multiple return
package main
import (
"fmt"
)
func main() {
fmt.Println(addAll(10,15,20,25,30))
}
func addAll(args ... int)(int,int) {
finalAddValue:=0
finalSubValue:=0
for _,value := range args{
finalAddValue += value
finalSubValue -= value
}
return finalAddValue,finalSubValue
}
خروجی:
100 -100