DEV Community 👩‍💻👨‍💻

Cover image for Criando variáveis no Kotlin - Explorando a documentação
Morganna for Kotlinautas

Posted on • Updated on

Criando variáveis no Kotlin - Explorando a documentação

Pensando em formas diferentes de aproximar a comunidade da documentação do Kotlin, darei início a uma série de postagens para traduzir o conteúdo dessa documentação. Fiquem a vontade para compartilhar seus feedbacks e complementar o conteúdo.

De qualquer forma, ainda que você já esteja trabalhando com kotlin, aconselho a consultar a documentação sempre que puder. Muitas das vezes, existem recursos da linguagem que facilitam nosso dia a dia, mas por costume de outras linguagens de programação com as quais já trabalhamos, temos a tendência de estruturar o código da forma como conhecemos até então.

Vamos dar os primeiros passos?
gif bruxa subindo em uma vassoura dizendo "e lá vamos nós"

Se ainda não conhece a documentação, você pode consultar o conteúdo por aqui. Ela está em inglês e não existe, até o momento, uma tradução oficial para outras línguas, como o português.

Dentro do tópico Basic Syntax, que seria a Sintaxe Básica, estão os primeiros tópicos da linguagem. Vamos iniciar aqui pelas variáveis.

Variáveis

Variáveis são utilizadas para guardar valores durante a execução do nosso código. Esses valores podem ser apenas de leitura, ou seja, não podemos alterá-lo durante a execução do programa. Mas também podem ser mutáveis, ou seja, podem mudar de valor durante o processamento e de acordo com a necessidade.

No Kotlin, as variáveis de leitura, as chamadas read-only em inglês, são definidas no código quando utilizamos a palavra-chave val.

Para variáveis que podem ter seu valor alterado durante a execução de um programa, utilizamos a palavra-chave var para sua criação no código.

Para facilitar, você pode associar a origem das palavras-chaves:

  • val: value;
  • var: variable.

Vejamos os exemplos a seguir.

Variáveis somente leitura

Uma variável pode ter seu tipo declarado e receber uma atribuição durante a sua criação:

No trecho de código abaixo, estamos criando uma variável apenas de leitura chamada "a". Seu tipo é Int, ou seja, ela recebe valores que são números inteiros. E foi declarada com o valor 1.

Uma variável pode ter seu tipo não declarado e receber uma atribuição durante a sua criação:

Quando atribuímos um valor diretamente a uma variável, o Kotlin entende qual será o seu tipo. No caso abaixo, o tipo é Int, pois recebeu o valor 1, que é um número inteiro.

Uma variável pode ter seu tipo declarado e não receber uma atribuição durante a sua criação:

No caso abaixo, a variável foi criada e, só durante a execução do programa, ela receberá um valor. Não necessariamente precisa ter uma atribuição diretamente em sua criação.

Uma variável de leitura não poderá ter seu valor alterado:

No caso abaixo, se você executar o código, verá que retornará um erro dizendo Val cannot be reassigned, ou seja, a variável declarada como somente leitura não poderá ter um novo valor atribuído.

Variáveis mutáveis

Uma variável pode ter seu tipo declarado e receber uma atribuição durante a sua criação:

No trecho de código abaixo, estamos criando uma variável mutável chamada "a". Seu tipo é Int, ou seja, ela recebe valores que são números inteiros. E foi inicializada com o valor 1. Posteriormente, teve seu valor alterado para 2, pois é var.

Uma variável pode ter seu tipo não declarado e receber uma atribuição durante a sua criação:

Quando atribuímos um valor diretamente a uma variável, o Kotlin entende qual será o seu tipo. No caso abaixo, o tipo é Int, pois recebeu o valor 1, que é um número inteiro. E, por ser var, teve seu valor alterado para 2 sem problemas.

Uma variável pode ter seu tipo declarado e não receber uma atribuição durante a sua criação:

No caso abaixo, a variável foi criada e, só durante a execução do programa, ela receberá um valor. Não necessariamente precisa ter uma atribuição diretamente em sua criação.

Mundo real

Precisamos avaliar e entender um contexto para tomar uma decisão entre deixar uma variável como mutável ou como somente leitura. Tudo depende da necessidade e dos requisitos que estamos atendendo, além de pontos de controle e de segurança que podem ser importantes em nosso código.
Normalmente, uma variável é criada como val, impedindo alterações diretas de seu valor. E, se houver necessidade, alteramos para var durante o desenvolvimento de um projeto.
Contudo, além disso, também avaliamos a necessidade de uma variável ser:

  • uma constante;
  • local, que atenda apenas a um escopo;
  • global, que esteja disponível a todo o projeto;
  • uma propriedade, controlando de acordo com o modificador de acesso.

Pontos extremamente importantes e que abordaremos no próximo artigo.

Caso tenha algo a acrescentar, sugestões ou queira tirar alguma dúvida, fique a vontade para enviar nos comentários. Até a próxima!

Top comments (5)

Collapse
 
lelepg profile image
Leticia Pegoraro Garcez

Primeiramente, parabéns pela iniciativa de trazer a tradução da documentação do Kotlin. Eu ainda não cheguei a mexer com Kotlin, mas achei esse esquema de declaração de variáveis maravilhoso, especialmente a questão de todas as regrinhas estarem bem definidas e bem documentadas.
E segundamente DÁ PRA RODAR O CÓDIGO NO PRÓPRIO ARTIGO? Que bruxaria é essa? Essa é a primeira vez que vejo essa abordagem em um artigo, e achei simplesmente perfeita! Fica muito interessante podermos testar o código que tá sendo apresentado só com clique diretamente no artigo, sem nenhum tipo de esforço extra.
Acho que uma das minhas metas pra 2022 vai ser aprender Kotlin heim....

Collapse
 
morgannadev profile image
Morganna Author

Que bom que curtiu, Lele! Eu também acho mágico ter essa possibilidade de rodar o código direto do artigo. Vou te mandar no privado como eu fiz. Mas é basicamente usando uma tag aqui do Dev.to e do próprio site (playground) do Kotlin. Na documentação oficial do Kotlin também é assim, tem trechos testáveis diretamente do componente, o que deixa bem interessante, por isso acabei replicando aqui.
Pois bora aprender Kotlin siiiim! <3

Collapse
 
lucaspericles profile image
lucaspericles

Muito massa esse artigo! Comecei a aprender Kotlin agora em janeiro e tô bem empolgado. Conteúdo maravilhoso.

Collapse
 
morgannadev profile image
Morganna Author

Ah, que massa que curtiu o artigo, super obrigada pelo feedback. E que top que esteja estudando Kotlin, Lucas! Aposto que vai curtir bastante mesmo! Qualquer coisa, estamos aí.

Collapse
 
lucaspericles profile image
lucaspericles

Valeu!!

Take a look at this:

Settings

Go to your customization settings to nudge your home feed to show content more relevant to your developer experience level. 🛠