O que é var em Kotlin?
A palavra-chave var em Kotlin serve para declarar variáveis mutáveis, ou seja, variáveis cujo valor pode ser alterado depois da atribuição inicial. Se você precisa de um valor que vai mudar ao longo da execução do programa, var é o caminho.
Enquanto val trava o valor, var te dá liberdade para reatribuir quantas vezes quiser — desde que o novo valor seja do mesmo tipo.
Quando usar var?
A regra de ouro é simples: só use var quando realmente precisar alterar o valor. Contadores, acumuladores, estados que mudam durante a execução — esses são casos clássicos onde var faz sentido.
Não saia usando var em tudo só por costume. O compilador do Kotlin inclusive sugere trocar pra val quando detecta que a variável nunca é reatribuída.
Exemplo prático
fun main() {
var contador = 0
for (i in 1..5) {
contador += i
}
println("Soma total: $contador") // Soma total: 15
var status = "pendente"
println("Status: $status")
status = "concluído"
println("Status: $status")
}
No exemplo acima, tanto contador quanto status precisam mudar de valor, então faz todo sentido usar var.
Tipo é fixo, mesmo com var
Um detalhe que pega muita gente: mesmo usando var, o tipo da variável não muda. Se você declarou como Int, vai ser Int pra sempre.
var idade = 25
// idade = "vinte e cinco" // Erro! Não pode mudar o tipo
var mensagem = "Olá"
mensagem = "Tchau" // Tudo certo, continua sendo String
Kotlin é uma linguagem de tipagem estática, então o tipo é definido na declaração e ponto final. O var muda o valor, não o tipo.
var vs val
Na dúvida, comece sempre com val. Se o compilador reclamar que você tá tentando reatribuir, aí sim troque pra var. Essa abordagem deixa o código mais seguro e fácil de manter.