🥇 Prácticas, Calcular promedio de una lista de valores

🍿 ¿Cómo calcular el promedio de una lista de números en Go?

Para calcular el promedio de una lista debemos sumar todos los valores del arreglo y dividirlo entre la cantidad de elementos que lo contienen.

promedio = A[n - 1 ] + A[n - 2] ... A[0]  / len(A)

Para trabajar con una lista de números podemos crear un nuevo tipo y sobre este tipo agregar la funcionalidad de sumar y contar elementos.

package main

import "fmt"

// creamos un nuevo typo que extienda un slice de numeros
type Nums []int

// agregamos la funcionalidad de sumar sus valores internos
func (nums Nums) Sumar() int {
	total := 0
	for _, v := range nums {
		total += v
	}
	return total
}

// obtener el numero de elementos
func (nums Nums) Elementos() int {
	return len(nums)
}

// calcular el promedio aplicando la formula
func (nums Nums) Promedio() float64 {
	return float64(nums.Sumar()) / float64(nums.Elementos())
}

func main() {

	nums := Nums{2, 4, 5, 6, 7, 8, 9}
	fmt.Println("La suma de nums es:", nums.Sumar())
	fmt.Println("El numero de elementos de nums es:", nums.Elementos())
	fmt.Println("El promedio de elementos de nums es:", nums.Promedio())

}

Salida.

La suma de nums es: 41
El numero de elementos de nums es: 7
El promedio de elementos de nums es: 5.857142857142857

El crear tipos personalizados nos permite agregar la funcionalidad sobre nuestros tipos de manera que podamos seguir extendiendo mas y mas funcionalidades sobre este.