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 je suis confronté à 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.

J'ai une simple calculatrice de moyenne arithmétique. J'obtiens une somme d'entiers (int) et un nombre d'éléments (également int). 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.

Voici mon code :

package main

import "fmt"

func main() {
    sum := 10   // int
    count := 3  // int
    avg := sum / count // Je veux obtenir 3.333..., mais j'obtiens 3
    fmt.Println(avg)
}

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