0Pricing
Zig Academy · Aula

var para estados mutáveis

Saiba quando e como permitir a reatribuição.

var para estados mutáveis é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 2 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 Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

When Values Change

Some values truly need to move: a counter, a running total, a current score. For those, Zig gives you the var keyword.

Meet var

The keyword var creates a mutable binding. Unlike const, the name you declare with var can be reassigned again and again.

var score = 0;

Reassigning Freely

Once a value is a var, updating it is just a plain assignment. No special syntax is needed, only the name and a new value.

var score = 0;
score = 10;

Updating in Place

You can compute a new value from the old one. Adding to a counter is the classic example of useful mutation in a loop.

var count: u32 = 0;
count += 1;

Type Often Needed

For a var that starts at zero, Zig may ask for a type so it knows the integer width. Annotate it once and you are set.

var total: i64 = 0;

Unused Mutation Warns

If you declare a var but never actually change it, Zig warns you. It nudges you to use const instead for a clearer intent.

var Inside Functions

Mutable locals live inside functions and last for that scope. A loop accumulator declared with var is a perfect everyday use.

var sum: u32 = 0;
sum += value;

The Cost of Mutation

Every var is one more thing that can change underfoot. Use it where change is the point, not as a lazy default choice.

Loop Counters

A while loop often drives a var forward each pass. The binding updates, the condition rechecks, and the loop advances.

var i: usize = 0;
while (i < 5) : (i += 1) {}

Same Type, New Value

A var can change its value but never its type. An i32 stays an i32; you cannot suddenly store text in a number binding.

var vs const Recap

Think of it simply: const is a value pinned in place, while var is a value that is meant to move. Reach for var only when it must.

Quick Check

You need a counter that increases inside a loop. Which keyword should declare it?

Recap

You learned that var creates a mutable binding for values that change. Annotate its type when needed, and use it only where mutation is truly the goal. 🔁

Perguntas Frequentes

A aula “var para estados mutáveis” é grátis?

Sim — o texto completo de “var para estados mutáveis” é 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 Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.

O que vou aprender em “var para estados mutáveis”?

Saiba quando e como permitir a reatribuição. Você pratica Zig 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 Zig Academy?

Nenhuma experiência prévia é necessária. Zig 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 2 de 4.

Quanto tempo leva a aula “var para estados mutáveis”?

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 Zig Academy?

Sim. Cada aula de Zig 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. const para valores que nunca mudam
  2. var para estados mutáveis
  3. Inferência de tipos versus tipos explícitos
  4. undefined e memória não inicializada
← Voltar para Zig Academy