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}