Um número de vírgula flutuante é um número com zero ou mais algarismos depois do separador decimal.
Alguns exemplos são -2.4, 0.1, 3.14, 5., 16.984025 e 1024.0.
Tipos de vírgula flutuante diferentes conseguem armazenar um número diferente de algarismos depois do separador decimal. A isto chama-se precisão.
O Go tem dois tipos de vírgula flutuante:
float32: 32 bits (~6-9 algarismos de precisão).float64: 64 bits (~15-17 algarismos de precisão).
Este é o tipo de vírgula flutuante predefinido.Como se pode ver, os dois tipos conseguem armazenar um número diferente de algarismos.
Isto significa que, ao tentar guardar PI num float32, só ficam guardados os primeiros 6 a 9 algarismos (com o último algarismo arredondado).
Por predefinição, o Go usa float64 para números de vírgula flutuante, a menos que o número de vírgula flutuante seja:
float32, oufloat32, oufloat32().O pacote math contém muitas funções matemáticas úteis.
Tem sempre cuidado ao verificar se valores de vírgula flutuante são iguais, pois valores que parecem representar o mesmo número podem ser, na verdade, diferentes.
Podes encontrar uma breve introdução aos números de vírgula flutuante em 0.30000000000000004.com. A página Float Toy tem uma boa explicação gráfica de como os bits de um número de vírgula flutuante são convertidos num valor de vírgula flutuante real.