github.com/l3x/learn-fp-go@v0.0.0-20171228022418-7639825d0b71/4-purely-functional/ch09-functor-monoid/01_no_generics_nums/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func int8Sum(list []int8) (int8) { 8 var result int8 = 0 9 for x := 0; x < len(list); x++ { 10 result += list[x] 11 } 12 return result 13 } 14 15 func int32Sum(list []int32) (int32) { 16 var result int32 = 0 17 for x := 0; x < len(list); x++ { 18 result += list[x] 19 } 20 return result 21 } 22 23 func float64Sum(list []float64) (float64) { 24 var result float64 = 0 25 for x := 0; x < len(list); x++ { 26 result += list[x] 27 } 28 return result 29 } 30 31 func complex128Sum(list []complex128) (complex128) { 32 var result complex128 = 0 33 for x := 0; x < len(list); x++ { 34 result += list[x] 35 } 36 return result 37 } 38 39 func main() { 40 fmt.Println("int8Sum:", int8Sum([]int8 {1, 2, 3})) 41 fmt.Println("int32Sum:", int32Sum([]int32{1, 2, 3})) 42 fmt.Println("float64Sum:", float64Sum([]float64{1, 2, 3})) 43 fmt.Println("complex128Sum:", complex128Sum([]complex128{1, 2, 3})) 44 }