19 Функции
Как принять произвольное число аргументов?
Ответ
Последний параметр вида nums ...int собирает аргументы в срез. Внутри функции это обычный []int, возможно пустой. Готовый срез передают наружу с тем же многоточием: sum(nums...).
package main
import "fmt"
func sum(nums ...int) int {
total := 0
for _, n := range nums {
total += n
}
return total
}
func main() {
fmt.Println(sum(1, 2, 3))
nums := []int{4, 5}
fmt.Println(sum(nums...))
}