در جست و جوی خود
14.آموزش GO با مثال (توابع متغیر)
توابع متغیر میتونن با هر تعداد آرگومانی فراخوانی بشن. برای مثال،fmt.Println
یک تابع متغیر رایج است.
package main
import "fmt"
در اینجا یک تابع داریم که مقدار دلخواهی int
را به عنوان آرگومان دریافت میکند.
func sum(nums ...int) {
fmt.Print(nums, " ")
total := 0
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
توابع متغیر به طور معمول با آرگومان های تکی فراخوانی میشود.
sum(1, 2)
sum(1, 2, 3)
اگر شما چندین آرگومان در یک برش دارید، میتونید اونها رو در یک تابع متغیر شبیه (...func(slice
اعمال کنید.
nums := []int{1, 2, 3, 4}
sum(nums...)
}
$ go run variadic-functions.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
یکی دیگر از جنبه های کلیدی توابع در گو توانایی آنها در ایجاد بستار است، که در آینده آن را مورد بررسی قرار میدهیم.
<<چند بازگشتی مقادیر------------------------------------تابع بستار>>
مطلبی دیگر از این انتشارات
24.آموزش GO با مثال(بافر کردن کانال)
مطلبی دیگر از این انتشارات
5.آموزش GO با مثال(حلقه for)
مطلبی دیگر از این انتشارات
12.آموزش GO با مثال (توابع)