1
resposta

scope function Also

Pensando no "also" como uma function que não vai impactar no seu código, a função que lá atrás foi usado .let

.let(::println)

seria mais aconselhado usar o .also ?

.also(::println)
1 resposta

Olá Gabriel!

A função also é uma das funções de escopo disponíveis no Kotlin e tem uma funcionalidade semelhante à função let. Ambas as funções permitem executar um bloco de código em um objeto de contexto, mas há uma diferença importante entre elas.

A função let recebe o objeto de contexto como argumento do lambda e permite acessar esse objeto usando o apelido it. Por exemplo, se tivermos o seguinte código:

val nome = "Gabriel"
nome.let {
    println(it)
}

O resultado será a impressão do valor "Gabriel".

Já a função also recebe o objeto de contexto como receptor do lambda, ou seja, é possível acessar seus membros diretamente, sem a necessidade de usar o apelido it. Por exemplo:

val nome = "Gabriel"
nome.also {
    println(it)
}

O resultado também será a impressão do valor "Gabriel".

Portanto, a escolha entre usar let ou also depende do que você pretende fazer com o objeto de contexto. Se você precisa acessar os membros do objeto diretamente, sem usar um apelido, a função also pode ser mais adequada. No entanto, se você precisa realizar alguma transformação ou cálculo com o objeto, a função let pode ser mais apropriada.

Espero ter ajudado e bons estudos!