Функция с параметром ...T принимает ноль или больше аргументов типа T. Внутри функции это слайс []T. Variadic-параметр должен быть последним.
func Sum(nums ...int) int {
total := 0
for _, n := range nums {
total += n
}
return total
}
Sum(1, 2, 3)
Sum(slice...)
Примеры из стандартной библиотеки: fmt.Println, append.