gpt4 book ai didi

kotlin - 这是什么语法,声明站点变量/属性名称周围的括号?

转载 作者:行者123 更新时间:2023-12-02 12:39:13 26 4
gpt4 key购买 nike

val (_,time) = time { Thread.sleep(1000) }

我看到左侧 (LHS) 有一个 val,所以它声明了一个变量。 LHS 也有某种看起来不像 lambda 声明的函数语法。什么是(_,time)?你不必在 LHS 上为时间指定类型吗?我非常了解 RHS:它是一个接受 lambda 作为参数并命名为“time”的函数。 Original code

最佳答案

左侧称为destructuring .

如果您尝试将数据类(或具有componentN 函数的任何)的实例分配给变量,您可以解构它。这意味着您可以将其内部分配给变量。 _ 语法表示您不关心第一项。

例子:

class Foo(val first: String, val second: String) {

operator fun component1() = first

operator fun component2() = second
}

用法:

val (first, second) = Foo("first", "second")

如果您使用数据类,则不需要创建componentN 函数,它们是为您生成的。

等效的数据类:

data class Foo(val first: String, val second: String)

关于kotlin - 这是什么语法,声明站点变量/属性名称周围的括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51026402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com