0Pricing
Go Academy · Aula

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 contexto
  • const 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:

  • const declara 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.

Todas as aulas deste curso

  1. Declarando variáveis em Go
  2. Tipos integrados do Go
  3. Constantes e iota
  4. Conversões de tipos em Go
← Voltar para Go Academy