Alguém poderia me explicar mais sobre o let? Me perdi no ponto "Membros que utilizam o argumento"
Alguém poderia me explicar mais sobre o let? Me perdi no ponto "Membros que utilizam o argumento"
O let é uma Scope functions, que é uma função que nos permite rodar vários códigos a partir desse objeto dentro de uma expressão lambda.
Já sobre a questão do "Membros que utilizam o argumento", olet referencia o objeto que o chama comoit ou outro argumento desejado: Ex:
val palavra = "Alura"
palavra.let { println(it.length) }ou podemos alterar a referência utilizada com lambda:
palavra.let { tamanho -> println(tamanho.length) }Diferente do run, que não precisa referenciar o objeto, ou se quiser, pode utilizar o this:
palavra.run { println(length) }palavra.run { println(this.length) }Além disso, o let tem o retorno do argumento que retorna dentro do lambda:
val tamanho:Int = palavra.let { it.length }como a função length retorna um Int, essa referencia é do tipo Int
val outraPalavra = "alura"
val tamanho:Boolean= palavra.let { it.equals(outraPalavra) }já a função equals retorna Boolean, então o let retorna um objeto do tipo Boolean
Para saber mais, tem esse link do próprio site do kotlin explicando mais sobre o Scope functions