Avatar ·

Como converter um inteiro (int) para ponto flutuante (float64) em Go?

Olá a todos! Estou começando a aprender Go depois do Python e me deparei com um problema de conversão de tipos. No Python, estou acostumado que números de ponto flutuante e inteiros se misturam facilmente em expressões, mas em Go tudo é estrito.

\n\n

Eu tenho uma calculadora simples de média aritmética. Recebo a soma de números inteiros (int) e a quantidade de elementos (também int). Preciso calcular o valor médio, que obviamente pode ser fracionário. Mas o compilador reclama quando tento dividir int por int e obter float.

\n\n

Aqui está meu código:

\n\n
package main\n\nimport "fmt"\n\nfunc main() {\n    sum := 10   // int\n    count := 3  // int\n    avg := sum / count // Quero obter 3.333..., mas obtenho 3\n    fmt.Println(avg)\n}\n
\n\n

Eu entendo que em Go a divisão de inteiros d