Alguém poderia me explicar mais sobre o let? Me perdi no ponto "Membros que utilizam o argumento"
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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