Avatar ·

Comment convertir un entier (int) en nombre à virgule flottante (float64) en Go ?

Bonjour à tous ! Je commence tout juste à apprendre Go après Python et j'ai rencontré un problème de conversion de types. En Python, j'avais l'habitude que les nombres à virgule flottante et les entiers se mélangent facilement dans les expressions, mais en Go tout est strict.

\n\n

J'ai une simple calculatrice de moyenne arithmétique. J'obtiens une somme d'entiers (int) et un nombre d'éléments (int aussi). Je dois calculer la valeur moyenne, qui peut évidemment être fractionnaire. Mais le compilateur râle quand j'essaie de diviser un int par un int pour obtenir un float.

\n\n

Voici mon code :

\n\n
package main\n\nimport "fmt"\n\nfunc main() {\n    sum := 10   // int\n    count := 3  // int\n    avg := sum / count // Je veux obtenir 3.333..., mais j'obtiens 3\n    fmt.Println(avg)\n}\n
\n\n

Je comprends qu'en Go la division d'entiers d