ExpertiDict

Go · Avançado · Português · Técnico

constante sem tipo

/kõsˈtɐ̃.t͡ʃi sẽj ˈt͡ʃi.pu/substantivo

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) // 4

Exemplos

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

Veja também

Todos os termos de Go