gobyexample/examples/variadic-functions/variadic-functions.go
2019-10-05 16:12:52 +03:00

32 lines
1.0 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// [_Функции с переменным числом аргументов_](http://en.wikipedia.org/wiki/Variadic_function)
// могут быть вызваны с любым количество аргументов.
// Пример такой функции - это `fmt.Println`.
package main
import "fmt"
// Это функция, которая может принимать любое количество
// аргументов целых чисел.
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...)
}