Destruindo Declarações em Kotlin

O autor se concentra no campo da segurança do Android. Bem-vindo ao prestar atenção à minha conta pública pessoal do WeChat "Engenharia de segurança do Android" (clique para escanear o código a seguir). A conta pública pessoal do WeChat se concentra principalmente na proteção de segurança e análise reversa de aplicativos Android, compartilhando vários métodos de ataque e defesa de segurança, tecnologia Hook, compilação ARM e outros conhecimentos relacionados ao Android.
No Kotlin, as declarações de desestruturação são um recurso de linguagem conveniente que permite desestruturar as propriedades de um objeto ou estrutura de dados em várias variáveis. Esse recurso pode tornar seu código mais conciso, fácil de ler e reduzir o código redundante.

A forma gramatical de uma declaração de desestruturação é a seguinte:

val (variable1, variable2, ...) = expression

Entre eles, expressionestá um objeto ou estrutura de dados, que pode ser um array, uma coleção, um objeto de classe de dados customizada, etc. O do lado direito do sinal de igual expressionserá desestruturado em múltiplas variáveis, e seu valor será atribuído às variáveis ​​correspondentes.

Aqui estão alguns exemplos de declarações de desestruturação:

Desestruturando um array

val array = arrayOf("apple", "banana", "orange")
val (fruit1, fruit2, fruit3) = array
println(fruit1) // 输出: apple
println(fruit2) // 输出: banana
println(fruit3) // 输出: orange

Desconstruir coleções

val list = listOf("John", "Doe")
val (firstName, lastName) = list
println(firstName) // 输出: John
println(lastName) // 输出: Doe

Desestruturando objetos de classe de dados personalizados

data class Person(val name: String, val age: Int)

val person = Person("Alice", 25)
val (name, age) = person
println(name) // 输出: Alice
println(age) // 输出: 25

As declarações de desestruturação também podem ser usadas em instruções de loop:

val persons = listOf(Person("Alice", 25), Person("Bob", 30), Person("Charlie", 35))

for ((name, age) in persons) {
    
    
    println("$name is $age years old")
}

O código acima itera personscada objeto na lista Persone desestrutura seu nome e idade nas variáveis name​​e agepara impressão.

Deve-se notar que a declaração de desestruturação exige que o número de variáveis ​​no lado esquerdo do sinal de igual corresponda ao número de atributos ou elementos no lado direito do sinal de igual, caso contrário, um erro será relatado durante a compilação.

おすすめ

転載: blog.csdn.net/HongHua_bai/article/details/130910831