Desenvolvimento Mobile - Kotlin Flashcards

1
Q

Qual a função para printar em Kotlin?

A

println e print

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais são as duas formas de declarar variáveis em Kotlin?

A

val para variáveis imutáveis e var para variáveis mutáveis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que são e como usar string templates em Kotlin?

A

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}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é a Type Inference em Kotlin?

A

A habilidade de inferir o tipo da variável

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais são os tipos básicos em Kotlin?

A

Byte, Short, Int, Long, UByte, UShort, UInt, ULong, Float, Double, Boolean, Char e String

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qual a sintaxe para declaração de variáveis em Kotlin?

A

var/val nome_da_variavel[: tipo] [= valor_da_variavel]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quais são as três principais collections do Kotlin?

A

Lists, Sets e Maps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qual a sintaxe para declaração de uma collection read-only e mutable em Kotlin?

A

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>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mutable Collections podem ser copiadas para Read-Only Collections?

A

Sim, por meio do casting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como obter o primeiro ou último item de uma lista em Kotlin?

A

usando as extension functions .first() ou .last()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Como obter o número de itens de uma collection em Kotlin?

A

usando a extension function .count()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como verificar se um elemento está contido em uma lista/set em Kotlin?

A

usando o operador in

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Como adicionar ou remover elementos de uma lista/set em Kotlin?

A

usando as extensions functions .add() ou .remove()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Como relacionar chaves a valores na criação de maps em Kotlin?

A

usando a palavra reservada to, sintaxe:
chave to value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Como adicionar elementos em um map em Kotlin?

A

usando o operador de acesso ao index: nome_do_map[chave_do_elemento] = valor_do_elemento

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Como remover elementos de um map em Kotlin?

A

usando .remove

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Como verificar se uma chave específica está presente em um map em Kotlin?

A

usando a extension function .containsKey()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Como obter uma collection das chaves ou valores de um map em Kotlin?

A

usando as propriedades .keys ou .values dos maps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Quais são as condicionais providas pelo Kotlin e qual a mais recomendada?

A

if e when, when

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Kotlin tem operador ternário?

A

não, mas o if pode ser usado como expressão quando os comandos são únicos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Qual a sintaxe do if em Kotlin?

A

if(condition) {
action 1
} else {
action 2
}

22
Q

Qual a sintaxe do when em Kotlin?

A

when(obj) {
case1 -> action1

casen -> actionn
}

when{
condition1 -> action1

conditionn -> actionn
else -> action default (optional)
}

23
Q

When pode ser usado como expressão em Kotlin?

24
Q

Como declarar ranges numéricos ou de char em Kotlin?

A

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

25
Q

Como é a sintaxe do for em Kotlin?

A

for(nome_da_variavel in nome_do_intervalo){
action
}

26
Q

Como é a sintaxe do while e do-while no Kotlin?

A

while (condicao) {
action
}
do {
action
} while (condicao)

27
Q

Qual a convenção de código de nome de funções usada no Kotlin?

A

inicio com letra minuscula e camel case

28
Q

Qual a sintaxe de funções no Kotlin?

A

fun functionName(var1: Tipo, var2: Tipo): Tipo {
code
return var3
}

29
Q

Como é chamada a convenção de escrever o nome dos parâmetros ao fazer a chamada de uma função?

A

named arguments, e é recomendado por deixar o código mais legivel.

30
Q

Kotlin aceita parâmetros default?

31
Q

Qual o tipo da função que não retorna nada em Kotlin?

32
Q

O que são single-expression functions?

A

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

33
Q

Kotlin aceita early return?

34
Q

Qual a sintaxe dos lambdas expressions em Kotlin?

A

val nomeVariavel = {var: Tipo -> code}

35
Q

Quais são as principais funcionalidades das expressões lambdas?

A

Passar como parâmetro para uma função
Retornar de uma função
Chamar diretamente da função

36
Q

Qual a sintaxe da função filter e map em Kotlin?

A

collectionName.filter(lambdaExpression)
collectionName.map(lambdaExpression)

37
Q

O que são function types em Kotlin?

A

é 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

38
Q

O que são trailing lambdas em Kotlin?

A

é 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

39
Q

Lambda expressions podem ser invocadas por si mesmas em Kotlin?

A

Sim, Exemplo: println({ text: String -> text.uppercase() }(“hello”))

40
Q

Como declarar uma classe em Kotlin?

A

usando a palavra reservada class, exemplo:
class Customer

41
Q

Como declarar as propriedades de uma classe em Kotlin?

A

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 = “”
}

42
Q

É possível declarar propriedades da classe sem val ou var em Kotlin?

A

Sim, declarando dentro dos parênteses, mas essas propriedades não serão acessíveis depois da instanciação da classe.

43
Q

O que é a class header em Kotlin?

A

O conteúdo dentro dos parênteses após o nome da classe

44
Q

As propriedades da classe podem ter valores default em Kotlin?

45
Q

Como acessar a propriedade de uma instância de uma classe em Kotlin?

A

por meio do .nomeDaPropriedade

46
Q

Como acessar uma função membro de uma classe em Kotlin?

A

por meio do .nomeDaFunção()

47
Q

O que são data classes em Kotlin e para que são usadas?

A

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.

48
Q

Como criar data classes em Kotlin?

A

utilizando a palavra reservada data class

49
Q

A member function copy aceita parâmetros em Kotlin?

A

sim, é possível criar uma cópia modificando alguma propriedade ao passar como parâmetro.

50
Q

O que são nullable types em Kotlin e como declará-los?

A

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”

51
Q

O que são safe calls em Kotlin?

A

é 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())”

52
Q

O que é o Elvis operator em Kotlin?

A

é 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)”