Junior
O que é um bloco 'run' em Kotlin e como é utilizado?
sobes.tech IA
Resposta da IA
O bloco run em Kotlin é uma função de escopo incorporada na biblioteca padrão do Kotlin. É usado para:
- Executar um bloco de código em um objeto: É chamado em um objeto e executa uma expressão lambda fornecida como argumento. Dentro da lambda, o objeto está disponível como
this. - Retornar um resultado: Retorna o resultado da última expressão na lambda.
- Objetos nullable: É útil para trabalhar com objetos nullable, pois ao usar o operador de chamada segura
?., o blocorunserá executado apenas se o objeto não for null.
Características principais:
- Receptor (
this): O objeto no qualruné chamado está disponível dentro da lambda comothis. - Valor de retorno: O resultado da última expressão na lambda.
Exemplos de uso:
// Exemplo 1: executar código em um objeto e retornar um resultado
val length: Int = "some string".run {
// 'this' aqui refere-se a "some string"
println("Comprimento da string: ${this.length}")
length // Retorna o comprimento da string
}
// Exemplo 2: trabalhar com um objeto nullable
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
// O bloco será executado apenas se nullableString não for null
toUpperCase() // Retorna a string em maiúsculas
}
val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
// O bloco não será executado, run?. retornará null
toUpperCase()
}
// Exemplo 3: criar e configurar um objeto
val person = run {
val name = "Alice"
val age = 30
Person(name, age) // Presume-se que a classe Person exista
}