Um número de ponto flutuante é um número com zero ou mais dígitos após o separador decimal. Alguns exemplos são -2.4, 0.1, 3.14, 5., 16.984025 e 1024.0.
Tipos de ponto flutuante diferentes podem armazenar quantidades diferentes de dígitos após o separador decimal. Isso é o que chamamos de precisão.
O Go tem dois tipos de ponto flutuante:
float32: 32 bits (precisão de ~6 a 9 dígitos).float64: 64 bits (precisão de ~15 a 17 dígitos).
Este é o tipo de ponto flutuante padrão.Como dá para ver, os dois tipos podem armazenar uma quantidade diferente de dígitos. Isso significa que tentar armazenar PI em um float32 vai armazenar apenas os primeiros 6 a 9 dígitos (com o último dígito arredondado).
Por padrão, o Go usa float64 para números de ponto flutuante, a menos que o número de ponto flutuante seja:
float32, oufloat32, oufloat32().O [pacote math] contém muitas funções matemáticas úteis.
Tenha sempre cuidado ao verificar a igualdade entre valores de tipos de ponto flutuante, pois valores que parecem representar o mesmo número podem na verdade ser diferentes.
Você encontra uma breve introdução aos números de ponto flutuante em 0.30000000000000004.com. A [página do Float Toy] traz uma explicação gráfica e bacana de como os bits de um número de ponto flutuante são convertidos em um valor de ponto flutuante de verdade.