Вариадические функции — это функции, которые принимают переменное количество аргументов одного типа. Они дают гибкость в том, сколько параметров ты передашь при вызове функции.
Вариадические функции используют оператор ... перед типом параметра:
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
Синтаксис ...int означает, что функция принимает ноль или больше аргументов типа int.
range, как по любому срезуВариадическую функцию можно вызвать с разным количеством аргументов:
sum() // возвращает 0
sum(5) // возвращает 5
sum(1, 2, 3) // возвращает 6
Также можно передать существующий срез, распаковав его с помощью ...:
numbers := []int{10, 20, 30}
sum(numbers...) // возвращает 60
fmt.Println()В вариативной функции оператор ... позволяет тебе принимать аргументы нескольких разных типов, указывая каждый тип отдельно, например func process(...int, ...string).
Новый — ещё не проверен сообществом
Вы