github.com/traefik/yaegi@v0.15.1/_test/gen3.go (about)

     1  package main
     2  
     3  type Number interface {
     4  	int | int64 | ~float64
     5  }
     6  
     7  func Sum[T Number](numbers []T) T {
     8  	var total T
     9  	for _, x := range numbers {
    10  		total += x
    11  	}
    12  	return total
    13  }
    14  
    15  func main() {
    16  	xs := []int{3, 5, 10}
    17  	total := Sum(xs)
    18  	println(total)
    19  }
    20  
    21  // Output:
    22  // 18