gpt4 book ai didi

Kotlin:如何限制 block 内的范围?

转载 作者:行者123 更新时间:2023-12-02 02:52:28 25 4
gpt4 key购买 nike

在 Java 中,可以使用花括号来描述 a block of code with its own scope :

void f() {
{
int x = 1
// do something with x
}

// x not visible here anymore
}

这在 Kotlin 中是如何完成的?

最佳答案

您可以使用run为此目的:

inline fun <R> run(block: () -> R): R (source)
Calls the specified function block and returns its result.

kotlin.run

fun f() {
run {
val x = 1
// do something with x
}
// x not visible here anymore
}

这是一个内联函数(与 Kotlin 中许多其他类似语言构造的函数一样),因此在性能方面它相当于 Java 代码。

<小时/>

{}不起作用,因为它创建了一个 lambda(它从未被实际调用,所以它什么也不做)。您可以立即调用它 ( { foo }() ),但需要创建 lambda,或者创建一个内联函数来为您执行此操作 - 这正是 run 的作用。确实如此。

关于Kotlin:如何限制 block 内的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51389806/

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