Variáveis

Agora que já imprimimos algo na tela, que tal guardar informações?
É hora de conhecer as variáveis!

Em SkyL, declarar uma variável é simples e direto. Você pode fazer assim:

let nome;

Ou, se já quiser começar com um valor:

let nome = "SkyL";

A palavra-chave let é usada para criar uma variável. Você escolhe um nome para ela, e pronto!
Se quiser já dar um valor desde o início, é só usar o sinal de igual (=) depois do nome.

E o melhor: você não precisa dizer o tipo da variável.
O compilador é esperto o bastante para descobrir isso sozinho — esse processo se chama inferência de tipos. ✨

Exemplos em ação

Vamos ver isso na prática com alguns exemplos dentro da nossa função main:

def main() -> void {
    let nome = "SkyL";
    let idade = 2;

    print("Nome da linguagem: ");
    println(nome);

    print("Idade: ");
    println(idade);

    // Também podemos mudar o valor, desde que o tipo seja o mesmo!
    idade = 3;
    print("Nova idade: ");
    println(idade);
}

Esse programa vai imprimir:

Nome da linguagem: SkyL Idade: 2 Nova idade: 3

Variável sem valor inicial

E se a gente só declarar uma variável, sem dar um valor de cara?

def main() -> void {
    let mensagem;
    mensagem = "Olá, mundo!";
    println(mensagem);
}

Nesse caso, mensagem foi declarada primeiro e inicializada depois. Tudo certo! SkyL permite isso.
Mas cuidado: usar uma variável antes de dar um valor pra ela vai dar problema!

Por exemplo, o código abaixo vai causar um erro:

def main() -> void {
    let nome;
    println(nome); // ⚠ Error: The type of 'x' is not known here. At line 3.
}

O compilador vai reclamar que você está tentando usar uma variável não inicializada.
SkyL se preocupa com sua segurança — ela quer ter certeza de que tudo tem um valor válido antes de ser usado.

Reatribuindo valores

Você pode mudar o valor de uma variável depois de criada, mas só se for do mesmo tipo:

def main() -> void {
    let contador = 1;
    contador = 2; // Ok!

    // ❌ Error: Cannot assign 'int' with 'str' instance. At line 3.
    contador = "dois";
}

O tipo é fixado na primeira vez que um valor é atribuído. Isso evita bugs esquisitos e te dá mais confiança no código.


Recapitulando:

  • Use let para criar variáveis.
  • Você pode (ou não) dar um valor inicial.
  • O tipo é descoberto automaticamente na primeira atribuição.
  • O tipo não pode mudar depois.
  • Não use variáveis antes de dar um valor a elas!

Nos próximos capítulos, vamos brincar com operadores, fazer contas, tomar decisões e muito mais.
Mas por enquanto, você já está dominando o universo das variáveis — e isso é incrível! 🌟