Desenvolvimento Mobile - Kotlin Flashcards
Qual a função para printar em Kotlin?
println e print
Quais são as duas formas de declarar variáveis em Kotlin?
val para variáveis imutáveis e var para variáveis mutáveis.
O que são e como usar string templates em Kotlin?
Strings templates é a técnica utilizada para inserir valores das variáveis em uma string e é feito usando o caracter $nomedavariavel, no caso de uma expressão utilizando a variável se usa a sintaxe ${expressão}
O que é a Type Inference em Kotlin?
A habilidade de inferir o tipo da variável
Quais são os tipos básicos em Kotlin?
Byte, Short, Int, Long, UByte, UShort, UInt, ULong, Float, Double, Boolean, Char e String
Qual a sintaxe para declaração de variáveis em Kotlin?
var/val nome_da_variavel[: tipo] [= valor_da_variavel]
Quais são as três principais collections do Kotlin?
Lists, Sets e Maps
Qual a sintaxe para declaração de uma collection read-only e mutable em Kotlin?
read-only:
val nome_da_lista[: List/Set/Map<String>] = list/set/mapOf( elemento_1, … , elemento_n )
read-only:
val nome_da_lista[: MutableList/Set/Map<String[, Int]>] = mutableList/Set/MapOf( elemento_1, … , elemento_n )</String>
Mutable Collections podem ser copiadas para Read-Only Collections?
Sim, por meio do casting
Como obter o primeiro ou último item de uma lista em Kotlin?
usando as extension functions .first() ou .last()
Como obter o número de itens de uma collection em Kotlin?
usando a extension function .count()
Como verificar se um elemento está contido em uma lista/set em Kotlin?
usando o operador in
Como adicionar ou remover elementos de uma lista/set em Kotlin?
usando as extensions functions .add() ou .remove()
Como relacionar chaves a valores na criação de maps em Kotlin?
usando a palavra reservada to, sintaxe:
chave to value
Como adicionar elementos em um map em Kotlin?
usando o operador de acesso ao index: nome_do_map[chave_do_elemento] = valor_do_elemento
Como remover elementos de um map em Kotlin?
usando .remove
Como verificar se uma chave específica está presente em um map em Kotlin?
usando a extension function .containsKey()
Como obter uma collection das chaves ou valores de um map em Kotlin?
usando as propriedades .keys ou .values dos maps
Quais são as condicionais providas pelo Kotlin e qual a mais recomendada?
if e when, when
Kotlin tem operador ternário?
não, mas o if pode ser usado como expressão quando os comandos são únicos.
Qual a sintaxe do if em Kotlin?
if(condition) {
action 1
} else {
action 2
}
Qual a sintaxe do when em Kotlin?
when(obj) {
case1 -> action1
…
casen -> actionn
}
when{
condition1 -> action1
…
conditionn -> actionn
else -> action default (optional)
}
When pode ser usado como expressão em Kotlin?
sim
Como declarar ranges numéricos ou de char em Kotlin?
1..4 is equivalent to 1, 2, 3, 4
1..<4 is equivalent to 1, 2, 3
4 downTo 1 is equivalent to 4, 3, 2, 1
1..5 step 2 is equivalent to 1, 3, 5
Como é a sintaxe do for em Kotlin?
for(nome_da_variavel in nome_do_intervalo){
action
}
Como é a sintaxe do while e do-while no Kotlin?
while (condicao) {
action
}
do {
action
} while (condicao)
Qual a convenção de código de nome de funções usada no Kotlin?
inicio com letra minuscula e camel case
Qual a sintaxe de funções no Kotlin?
fun functionName(var1: Tipo, var2: Tipo): Tipo {
code
return var3
}
Como é chamada a convenção de escrever o nome dos parâmetros ao fazer a chamada de uma função?
named arguments, e é recomendado por deixar o código mais legivel.
Kotlin aceita parâmetros default?
sim
Qual o tipo da função que não retorna nada em Kotlin?
Unit
O que são single-expression functions?
São funções que só tem uma expressão, podendo ser escritas em uma linha só. Sintaxe:
fun functionName(var1: Int, var2: Int) = var1 + var2
Kotlin aceita early return?
sim
Qual a sintaxe dos lambdas expressions em Kotlin?
val nomeVariavel = {var: Tipo -> code}
Quais são as principais funcionalidades das expressões lambdas?
Passar como parâmetro para uma função
Retornar de uma função
Chamar diretamente da função
Qual a sintaxe da função filter e map em Kotlin?
collectionName.filter(lambdaExpression)
collectionName.map(lambdaExpression)
O que são function types em Kotlin?
é o tipo de uma função e se dá pelo tipo dos seus parâmetros e do seu retorno no seguinte formato:
(tipo_parametro1, …, tipo_parametron) -> tipo_retorno
O que são trailing lambdas em Kotlin?
é a sintaxe de passar uma função lambda como parâmetro de uma função sem usar os parênteses no caso da função ser o único parâmetro ou fora dos parênteses no caso da função ser o último parâmetro. Sintaxe:
val positives = numbers.filter { x -> x > 0 }
println(listOf(1, 2, 3).fold(0) { x, item -> x + item }) // 6
Lambda expressions podem ser invocadas por si mesmas em Kotlin?
Sim, Exemplo: println({ text: String -> text.uppercase() }(“hello”))
Como declarar uma classe em Kotlin?
usando a palavra reservada class, exemplo:
class Customer
Como declarar as propriedades de uma classe em Kotlin?
Dentro dos parênteses depois do nome da classe:
class Contact(val id: Int, var email: String)
Dentro da classe:
class Contact(val id: Int, var email: String) {
val category: String = “”
}
É possível declarar propriedades da classe sem val ou var em Kotlin?
Sim, declarando dentro dos parênteses, mas essas propriedades não serão acessíveis depois da instanciação da classe.
O que é a class header em Kotlin?
O conteúdo dentro dos parênteses após o nome da classe
As propriedades da classe podem ter valores default em Kotlin?
sim
Como acessar a propriedade de uma instância de uma classe em Kotlin?
por meio do .nomeDaPropriedade
Como acessar uma função membro de uma classe em Kotlin?
por meio do .nomeDaFunção()
O que são data classes em Kotlin e para que são usadas?
data classes são classes usadas para armazenar dados, tem a mesma funcionalidade que as classes mas vem automaticamente com algumas funções membros, como por exemplo as funções toString, equals e copy.
Como criar data classes em Kotlin?
utilizando a palavra reservada data class
A member function copy aceita parâmetros em Kotlin?
sim, é possível criar uma cópia modificando alguma propriedade ao passar como parâmetro.
O que são nullable types em Kotlin e como declará-los?
nullable são variáveis que aceitam o valor null e são declaradas a partir do oprador ? adicionado logo após a declaração do tipo. Exemplo?
var nullable: String? = “You can keep a null here”
O que são safe calls em Kotlin?
é a prática de adicionar o operador ‘?’ na chamada de alguma função ou na tentativa de acesso a propriedade de alguma classe para fazer a checagem se aquela propriedade ou variável é nula, retornando nulo se for o caso. Exemplos:
“person.company?.address?.country”
“val nullString: String? = null
println(nullString?.uppercase())”
O que é o Elvis operator em Kotlin?
é o operador ‘?:’ usado para retornar um valor default no caso de um valor nulo ser encontrado. Exemplo:
“val nullString: String? = null
println(nullString?.length ?: 0)”