Começando com Kotlin

Infra

Kotlin

Muito se fala sobre essa linguagem nova que surgiu em nosso mundo, principalmente agora por ser uma linguagem oficial para desenvolver aplicativos em Android, porém a idéia não se limita apenas a app, com o Kotlin também conseguimos desenvolver para Web e JavaScript.

Um pouco de história

A linguagem Kotlin foi criada pela JetBrains empresa famosa por suas IDE's (IntelliJ IDEA, PHP Storm, Web Storm, etc...) em 2011, o projeto deu início dentro da mesma e até hoje é um projeto dela, criada para suprir a necessidade que eles haviam em relação a outras linguagens pois não tinham tudo que eles precisavam. A idéia inicial do projeto era ser feito baseado totalmente em Scala, porém seu tempo de compilação era muito mais lento em relação ao Java, então eles reuniram os melhores aspectos de ambas as linguagens e assim surgiu o Kotlin, o projeto foi aberto para a comunidade em 2012 no github, onde até hoje é um projeto open source.

Pré requisitos

Para começar dar seus primeiros passos com Kotlin, você deve ter todo ambiente da JVM e Java configurado e instalado na sua máquina.

Meus primeiros contatos

Caso queira, por questões de facilidade o Kotlin pode ser testado online no seu compilador, mas também possuí integrações com Android Studio, IntelliJ IDEA e Eclipse, além de possuir um compilador em linha de comando, bem similar ao Java.

Meu primeiro Hello Word

Após ter seguido os links dos tutoriais para configurar o Kotlin em sua IDE preferida, vamos começar criando um famoso "Hello World", o primeiro passe é criar um arquivo chamado HelloWolrd.kt, repare que não é uma classe e sim apenas um arquivo, feito isso podemos criar uma função main para imprimir a mensagem desejada:

fun main(args : Array<String>) {
    println("Hello World")
}

Ao rodar a classe, em nosso console iremos ter a seguinte resposta:

Hello World

Começando com classes

Para o primeiro exemplo, podemos criar uma classe para representar uma pessoa, onde a mesma irá possuir um nome, idade e sexo:

class Pessoa(val nome : String, val idade : Int, val sexo : String) {

}

Repare que aqui ja existe um grande diferença em relação ao Java, não precisamos declarar nossos atributos e depois recebe-los no construtor, basta apenas informar no construtor o nome e tipo do atributo que o mesmo ja faz parte de classe, algo bem parecido com TypeScript.

Criando uma função de ola

Para o exemplo, vamos criar uma função para a pessoa dizer seu nome, idade e sexo, com isso já podemos ter alguns exemplos da linguagem:

fun ola() {
        println("Olá meu nome é ${this.nome}, tenho ${this.idade} anos e sou do sexo ${this.sexo.toLowerCase()}");
}

Repare que aqui já estamos usando umas das funções do Kotlin, a Template String.

Template String

Assim como no JavaScript, o Kotlin também tem suas facilidades para concatenação de strings, basta informarmos $variavel ou ${variavel}, mas, qual a diferença ? Quando usar chaves ou não ? Simples! Se queremos imprimir apenas uma variável:

fun main(args : Array<String>) {
    val nome : String = "Matheus"
    println("Meu nome é $nome")
}

Podemos usar apenas o $ seguido pelo nome da variável, porém, se precisarmos realizar alguma função na variável ou algo mais complexo do que apenas chamá-la:

fun main(args : Array<String>) {
    val nome : String = "Matheus"
    println("Meu nome é ${nome.toUpperCase()}")
}

Devemos usar o $ com {} e a variável com as funções dentro.

Testando a primeira classe

Voltando ao exemplo da classe Pessoa que nos ia dizer oi, vamos testá-la:

fun main(args : Array<String>) {
    val matheus : Pessoa = Pessoa("Matheus", 21, "Masculino")
    matheus.ola()
}

Ao rodar nossa classe de teste, teremos a seguinte saída em nosso console:

Rodando a primeira classe

Declarando variáveis

Mas afinal, o que seria esse val ? Para declararmos váriveis no Kotlin, existem duas maneiras:

  • Primeira: Caso você queira permitir que a variável possa mudar de valor, ou seja, ser variável, devemos usar var.
  • Segunda: Caso a variável não possa mudar do valor e ser uma constante, devemos usar val.

Além disso, seguimos a seguinte sintaxe:

tipo nome_da_variavel : tipo_da_variavel = /.../

Definindo tipos

O Kotlin é uma linguagem que não precisa ser explicitadamente tipada, em outras palavras, podemos dizer que o Kotlin é inteligente em saber o valor que esta sendo passado para a variável e assim defini um tipo para ela:

val matheus = Pessoa("Matheus", 21, "Masculino")

Aqui estamos instanciando uma classe Pessoa(sim, não precisa do new) e gerando o objeto matheus, veja que não precisamos informar o tipo da variável, o Kotlin sabe que se estamos passando uma Pessoa para ela, então ela tem que ser do tipo Pessoa.

Com isso, podemos mudar a sintaxe de criação de variável para:

tipo nome_da_variavel = /.../

Lembrando que para funcionar a tipagem implitica, deve ser atribuído algum valor para a várivel e quando esse valor for atribuído, o mesmo não poderá ser mudado, então se uma variável:

var idade = 23

For definida como Int, não podemos passar uma String para ela:

idade = "Matheus"

Esse código não compila.

E ae, você conhecida o Kotlin, o que achou da linguagem ? Não deixe de comentar, nos próximos posts iremos nos aprofundando na linguagem.

Matheus Castiglioni

Matheus Castiglioni

Apaixonado pelo mundo dos códigos e um eterno estudante, gosto de aprender e saber um pouco de tudo, aquela curiosidade de saber como tudo funciona, tento compartilhar o máximo de conhecimentos adquiridos e ajudar todos aqueles que sou capaz.

Post's Relacionados

Visualize outros post's relacionados ao mesmo assunto:

Manipulando Containers com Docker parte 01

Infra
Kotlin Muito se fala sobre essa linguagem nova que surgiu em nosso mundo, principalmente agora por ser uma linguagem oficial para desenvolver aplicativos em Android, porém a idéia não se limita apenas a app, com o Kotlin também conseguimos desenvolver...
Continuar lendo

Criando minha primeira imagem com Docker

Infra
Kotlin Muito se fala sobre essa linguagem nova que surgiu em nosso mundo, principalmente agora por ser uma linguagem oficial para desenvolver aplicativos em Android, porém a idéia não se limita apenas a app, com o Kotlin também conseguimos desenvolver...
Continuar lendo

Criando meu primeiro Web Service com Spring Boot

Infra
Kotlin Muito se fala sobre essa linguagem nova que surgiu em nosso mundo, principalmente agora por ser uma linguagem oficial para desenvolver aplicativos em Android, porém a idéia não se limita apenas a app, com o Kotlin também conseguimos desenvolver...
Continuar lendo

Trabalhando com Diferentes Perfis no Maven

Infra
Kotlin Muito se fala sobre essa linguagem nova que surgiu em nosso mundo, principalmente agora por ser uma linguagem oficial para desenvolver aplicativos em Android, porém a idéia não se limita apenas a app, com o Kotlin também conseguimos desenvolver...
Continuar lendo

Adicionando JAR's de Terceiros no Maven

Infra
Kotlin Muito se fala sobre essa linguagem nova que surgiu em nosso mundo, principalmente agora por ser uma linguagem oficial para desenvolver aplicativos em Android, porém a idéia não se limita apenas a app, com o Kotlin também conseguimos desenvolver...
Continuar lendo