Cómo convertir un entero (int) a número de punto flotante (float64) en Go?
¡Hola a todos! Estoy empezando a aprender Go después de Python y me encontré con un problema de conversión de tipos. En Python estaba acostumbrado a que los números de punto flotante y los enteros se mezclaran fácilmente en expresiones, pero en Go todo es estricto.
Tengo una calculadora simple de promedio aritmético. Obtengo la suma de números enteros (int) y la cantidad de elementos (también int). Necesito calcular el promedio, que obviamente puede ser fraccionario. Pero el compilador se queja cuando intento dividir int entre int y obtener float.
Aquí está mi código:
package main
import "fmt"
func main() {
sum := 10 // int
count := 3 // int
avg := sum / count // Quiero obtener 3.333..., pero obtengo 3
fmt.Println(avg)
}
Entiendo que en Go la división de enteros da un resultado entero descartando la parte fraccionaria. Intenté escribir avg := float64(sum / count), pero esto sigue dando 3.0, no 3.333...
¿Cómo convertir correctamente int a float64 antes de la división?