import "fmt" # recursive function (not supported!) func sum1($in) { if $in < 0 { -1 * sum2(-1 * $in) } else { if $in == 0 { 0 # terminate recursion } else { $in + sum2($in - 1) } } } func sum2($in) { if $in < 0 { -1 * sum1(-1 * $in) } else { if $in == 0 { 0 # terminate recursion } else { $in + sum1($in - 1) } } } $out1 = sum1(4) # 4 + 3 + 2 + 1 + 0 = 10 $out2 = sum2(-5) # -5 + -4 + -3 + -2 + -1 + -0 = -15 test fmt.printf("sum1(4) is %d", $out1) {} test fmt.printf("sum2(-5) is %d", $out2) {}