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  }