package main
import "fmt"
func sum_iter(nums []int) int {
result := 0
for _, v := range nums {
result += v
}
return result
}
func sum_naive_rec(nums []int) int {
if len(nums) == 0 {
return 0
}
head, tail := nums[0], nums[1:]
return head + sum_naive_rec(tail)
}
func sum_tail_rec(nums []int, acc int) int {
if len(nums) == 0 {
return acc
}
head, tail := nums[0], nums[1:]
return sum_tail_rec(tail, acc + head)
}
func main() {
nums := []int{1,2,3,4,5}
fmt.Println(sum_iter(nums))
fmt.Println(sum_naive_rec(nums))
fmt.Println(sum_tail_rec(nums, 0))
}
To embed this project on your website, copy the following code and paste it into your website's HTML: