Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| // Copyright © 2016 Alan A. A. Donovan & Brian W. Kernighan. | |
| // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ | |
| // See page 142. | |
| // The sum program demonstrates a variadic function. | |
| package main | |
| import "fmt" | |
| //!+ | |
| func sum(vals ...int) int { | |
| total := 0 | |
| for _, val := range vals { | |
| total += val | |
| } | |
| return total | |
| } | |
| //!- | |
| func main() { | |
| //!+main | |
| fmt.Println(sum()) // "0" | |
| fmt.Println(sum(3)) // "3" | |
| fmt.Println(sum(1, 2, 3, 4)) // "10" | |
| //!-main | |
| //!+slice | |
| values := []int{1, 2, 3, 4} | |
| fmt.Println(sum(values...)) // "10" | |
| //!-slice | |
| } |