Inferência de Tipos
Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 6 de 93.
Kotlin consegue descobrir automaticamente o tipo de um valor. Isso é chamado de inferência de tipos:
fun main() {
val name = "Alice" // Kotlin infere que isto é um String
val age = 25 // Kotlin infere que isto é um Int
val price = 9.99 // Kotlin infere que isto é um Double
}Mas você também pode declarar explicitamente o tipo usando uma anotação de tipo. Você escreve dois-pontos após o nome, seguido do tipo:
fun main() {
val name: String = "Alice"
val age: Int = 25
val price: Double = 9.99
val isActive: Boolean = true
}As anotações de tipo são úteis quando:
- Você quer deixar especialmente claro qual é o tipo de um valor
- Você declara uma variável sem um valor inicial
fun main() {
var score: Int // Declarada mas ainda não atribuída
score = 100 // Atribuída mais tarde
}Sem a anotação de tipo, o Kotlin não saberia qual tipo score deveria ter.
Desafio
InicianteCrie quatro declarações val sem anotações de tipo explícitas: city contendo "Oslo", platform contendo 4, fare contendo 12.5 e isExpress contendo false. Deixe o Kotlin inferir seus tipos. Imprima seus valores em quatro linhas separadas, nessa ordem.
Experimente você mesmo
fun main() {
// Declare os quatro valores sem anotações de tipo.
// Imprima-os na ordem solicitada.
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores – Parte 1
Operadores aritméticosOperador móduloAtribuição aumentadaOperadores de comparaçãoRecapitulação – Matemática simples7Entrada e Saída Básicas
Função PrintlnTemplates de StringEntrada com ReadLineConversão de TiposRevisão - Anos até a AposentadoriaRevisão - Verdadeiro ou Falso10Funções
Declare uma funçãoParâmetros e argumentosValores de retornoArgumentos nomeadosValores padrãoFunções de expressão únicaRecapitulação — função SigmaRecapitulação — função de validação2Variáveis
Val vs VarInferência de TiposNúmerosStringBooleanoConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores – Parte 2
Operadores lógicos – Parte 1Operadores lógicos – Parte 2Operadores lógicos – Parte 3Ternário com expressão ifRecapitulação – Lógica simples8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo a Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Nullabilidade
O que é Null SafetyTipos anuláveisOperador de chamada seguraOperador ElvisNoções básicas do desafio de funçõesAsserção de não nuloRecapitulação - Acesso seguro6Tomada de Decisões
Instrução IfIf - ElseIf como ExpressãoExpressão WhenWhen com IntervalosRecapitulação - Calculadora Simples9Laços de Repetição
Laço ForLaço WhileLaço Do-WhileBreakContinueIntervalos em LaçosLaço AninhadoRecapitulação - FatorialRecapitulação - Entrada Dinâmica12Fundamentos de Listas
List vs MutableListAcessando ElementosModificando ListasMétodos de ListaPair e TripleRecapitulação - Lista de ProdutosRecapitulação - Lista Invertida15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do ProgramaPratique por conta própria: Playground de Kotlin