master
 1package main
 2
 3func Sum(numbers []int) int {
 4	sum := 0
 5	for _, number := range numbers {
 6		sum += number
 7	}
 8	return sum
 9}
10
11func SumAll(numbers ...[]int) []int {
12	var sums []int
13
14	for _, numbers := range numbers {
15		sums = append(sums, Sum(numbers))
16	}
17	return sums
18}
19
20func SumAllTails(numbers ...[]int) []int {
21	var sums []int
22	for _, numbers := range numbers {
23		if len(numbers) == 0 {
24			sums = append(sums, 0)
25		} else {
26			tail := numbers[1:]
27			sums = append(sums, Sum(tail))
28		}
29	}
30	return sums
31}