Comment effectuer la division en Aller
Je suis en train d'effectuer une simple division en Aller.
fmt.Println(3/10)
Cette affiche " 0 " au lieu de 0.3. C'est le genre de bizarre. Quelqu'un pourrait s'il vous plaît partager ce qui est la raison derrière tout cela? je veux effectuer différentes opérations arithmétiques en Aller.
Grâce
- Pourquoi les gens voter cela ?
- Parce que la plupart des personnes ont des problèmes avec d'autres personnes qui n'ont pas la même "normal". Si je suis venu de Python 3, je l'avais trouvé ce comportement surprenant. Si je suis venu de Python 2, pas tellement.
Vous devez vous connecter pour publier un commentaire.
L'expression
3 /10
est un non expression constante. La spécification dit ceci à propos des expressions constantesParce que
3
et10
sont de type entier constantes, la valeur de l'expression est un non entier (0
dans ce cas).L'un des opérandes doit être une virgule flottante constante pour le résultat à virgule flottante constante. Les expressions suivantes pour évaluer le type à virgule flottante constante
0.3
:Il est également possible d'utiliser des constantes typées. Les expressions suivantes pour évaluer la
float64
constante0.3
:L'impression de tout les expressions ci-dessus permettra d'imprimer
0.3
. Par exemple,fmt.Println(3.0 /10)
imprime0.3
.0.3
.Comme mentionné par @Cerise et par la spec
Dans ce cas, seule la premier opérande doit être une virgule flottante.
Exemple