package main
import "fmt"
type Number interface {
int | int32 | int64 | float32 | float64
}
func sumNumbers[T Number](numbers []T) T {
var result T
for _, v := range numbers {
result += v
}
return result
}
func main() {
i := []int{1, 2, 3, 4, 5}
i32 := []int32{1, 2, 3, 4, 5}
i64 := []int64{1, 2, 3, 4, 5}
f32 := []float32{1.1, 2.1, 3.1, 4.1, 5.1}
f64 := []float64{1.1, 2.1, 3.1, 4.1, 5.1}
fmt.Println(sumNumbers(i))
fmt.Println(sumNumbers(i32))
fmt.Println(sumNumbers(i64))
fmt.Println(sumNumbers(f32))
fmt.Println(sumNumbers(f64))
}
To embed this project on your website, copy the following code and paste it into your website's HTML: