-
Notifications
You must be signed in to change notification settings - Fork 0
/
24-tipoGenerico.kt
30 lines (24 loc) · 945 Bytes
/
24-tipoGenerico.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package introducaoALinguagem
fun main() {
//Tipo Genérico
//É possível criar uma função que possa receber qualquer tipo de valor?
//Sim, isso é possível por meio dos tipos generics
minhaFuncao(12, true)
minhaFuncao(12, "Micilini")
minhaFuncao(12, 33)
}
fun <T> minhaFuncao(idade: Int, outro: T){//Para dizer que a variável 'outro' pode receber valores de qualquer tipo
//Usamos ela logo após o 'fun' especificando a letra T (mas poderia ser qualquer outra letra), e usar o T como tipo após o 'outro:'
if(outro is String){//Verifica se o tipo genérico é do tipo String
println("A variável Outro é do tipo String")
}
if(outro is Int){
println("A variável Outro é do tipo Int")
}
if(outro is Boolean){
println("A variável Outro é do tipo Boolean")
}
}
fun <T, J> minhaFuncaoDois(idade: T, outro: J){
//Exemplo de função genérica com dois tipos
}