Constantes e iota
Defina constantes e use iota para criar enumerações
Constantes e iota é uma aula grátis de Go Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Go Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Go Academy inclui 4 aulas no total.
O que são constantes?
Uma constante armazena um valor que nunca muda durante a execução.
- Declarada com
const - Precisa ser calculável em tempo de compilação
- Pode ter tipo definido ou não ter tipo
- Literais de string, booleanos, numéricos e rune são permitidos
Constantes com e sem tipo
Constantes sem tipo têm maior precisão e são mais flexíveis:
const Pi = 3.14159— ponto flutuante sem tipo, adapta-se ao contextoconst Pi float64 = 3.14159— float64 com tipo definido- Constantes inteiras sem tipo podem ser usadas com qualquer tipo inteiro
Expressões constantes
As constantes podem ser calculadas a partir de outras constantes em tempo de compilação:
const (
KB = 1024
MB = 1024 * KB
GB = 1024 * MB
)iota: valores incrementados automaticamente
iota é um contador integrado que é redefinido para 0 em cada bloco const e incrementado em 1 para cada constante do bloco.
const (
Sunday = iota // 0
Monday // 1
Tuesday // 2
Wednesday // 3
)iota com expressões
Combine iota com expressões para criar enumerações poderosas:
const (
_ = iota // skip 0
KB = 1 << (10 * iota) // 1024
MB // 1048576
GB // 1073741824
)Constantes de string
Constantes de string são valores de string imutáveis conhecidos em tempo de compilação:
const (
AppName = "GoApp"
AppVersion = "1.0.0"
Greeting = "Hello, " + AppName
)Constantes booleanas
true e false são constantes booleanas sem tipo predeclaradas em Go. Pode definir suas próprias constantes booleanas com tipo para sinalizadores de recursos:
const (
EnableMetrics = true
DebugMode = false
)Constantes vs variáveis
Principais diferenças:
- As constantes são imutáveis — atribuir um valor depois da declaração causa um erro de compilação
- As constantes não podem usar expressões não constantes (por exemplo, chamadas de função)
- As constantes são mais eficientes — o compilador pode inseri-las diretamente no código
- Use constantes para números mágicos e melhore a legibilidade
Tipos enumerados com iota
Crie enumerações com segurança de tipo combinando um tipo definido com iota:
type Direction int
const (
North Direction = iota
East
South
West
)Stringer para legibilidade das enumerações
Implemente a interface Stringer no seu tipo de enumeração para que ele mostre nomes legíveis em vez de inteiros brutos. A ferramenta stringer pode gerar esse código automaticamente para si.
Padrão de máscara de bits com iota
iota com deslocamentos de bits cria conjuntos de sinalizadores:
type Permission uint
const (
Read Permission = 1 << iota // 1
Write // 2
Execute // 4
)
func main() {
access := Read | Write // 3
_ = access
}Verificação rápida
Com que valor iota começa em cada novo bloco const?
Resumo: constantes e iota
Agora entende as constantes de Go:
constdeclara valores imutáveis em tempo de compilação- Constantes sem tipo são flexíveis e têm alta precisão
iotaé incrementado automaticamente dentro de um bloco const, começando em 0- Combine iota com expressões para tamanhos de arquivos, sinalizadores de bits e enumerações
- Crie enumerações com segurança de tipo usando um tipo definido + iota
A seguir: conversões explícitas de tipo e aliases de tipo.
Perguntas Frequentes
A aula “Constantes e iota” é grátis?
Sim — o texto completo de “Constantes e iota” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Go Academy, atualize para CoddyKit PRO. O curso de Go Academy inclui 4 aulas no total.
O que vou aprender em “Constantes e iota”?
Defina constantes e use iota para criar enumerações Você pratica Go Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Go Academy?
Nenhuma experiência prévia é necessária. Go Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Constantes e iota”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Go Academy?
Sim. Cada aula de Go Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.