Go · Avançado · Português · Técnico
constante sem tipo
Constante literal ou declarada sem tipo explícito que só ganha tipo ao ser usada, com precisão arbitrária. Isso permite misturá-la com int, float64 e outros tipos sem conversões.
Onde usar
Explica por que const x = 5 serve tanto para int quanto para float64 e por que 2 * time.Second compila. O erro aparece quando o valor não cabe no tipo de destino.
Em código
const n = 5
var a int = n
var b float64 = n // mesma constante
fmt.Println(a, b)
const grande = 1 << 100
fmt.Println(grande >> 98) // 4Exemplos
Como a constante não tem tipo, ela serve para int e para float64.
O compilador reclamou que a constante estourou o int8.
Cuidado
Não confunda com constante tipada: const n int = 5 não pode ser usada onde se espera float64 sem conversão.
Sinônimos
untyped constant
Antônimos
constante tipada