Junior — Middle
Qual é a diferença entre uma variável estática e uma variável normal na programação?
sobes.tech IA
Resposta da IA
Uma variável estática difere de uma variável normal pelo facto de manter o seu valor entre chamadas de função ou durante toda a execução do programa, enquanto uma variável normal é recriada a cada chamada e destruída após sair do âmbito.
Por exemplo, em Swift, uma variável estática dentro de uma classe ou estrutura pertence ao próprio tipo, não à instância, e existe numa única instância:
class Counter {
static var totalCount = 0
var count = 0
func increment() {
count += 1
Counter.totalCount += 1
}
}
let a = Counter()
a.increment()
print(a.count) // 1
print(Counter.totalCount) // 1
let b = Counter()
b.increment()
print(b.count) // 1
print(Counter.totalCount) // 2
Aqui, count é uma variável de instância normal, e totalCount é uma variável estática, comum a todas as instâncias da classe.