Download - Iniciando em Scala
ScalaPara Jovens
Scala
Qual minha principal motivação em aprender Scala?
Quem está usando?
Scala vs Java IDE cuspindo código
Scala S2
Scala vs Java
Roda na JVM
Integra 100% com libs Java
Linguagem Hibrida: OO e Funcional
Tipagem Estática
Tudo é Objeto
Paradigmas
OO Funcional
Composição de Objetos Composição de Funções
Mutabilidade Imutável
Algoritmos Iterativos Algoritmos Recursivos
Básico
Tudo é público por padrão
Inferindo o tipo (String)
Não precisa de vírgula
Variável Mutável
Variável Imutável
Declarando o tipo
EstruturaParâmetros Retorno
Dispensável se retorna Unit
Dispensa return
Obrigatório p/ +1 linha
FunçõesValor
Padrão
Recebo 2 Parâmetros
Retorno
Função padrão utilizada
FunçõesPassando função
por parâmetro Currying
Qualquer coisa
Função Anônima
Classes e ObjetosConstrutor, Propriedades
e tudo final :)
Chamando as propriedadesCompanion
ObjectMinha classe estática
Método Default
Classes e Objetos
Construtor, Propriedades e tudo final :)
equals, hashCode, apply e unnaply
Clone da classe
Definindo os parâmetros
Novo Construtor
Definindo os valores default
Restrições da Classe
Novo Construtor
Pattern Matching
parecido com switch do java
decompõe o objeto
Qualquer coisa
TuplasVocê não precisa criar
classes
O acesso as variáveis
TraitsParecidas com as
Interfaces Java
Podem ter métodos default
Mixing
Coleções
Inicia com um valor definido
Mapeia para outra listagem
Inicia com o primeiro elemento
Nice Features
String InterpolationNullpointerException
nunca mais