gpt4 book ai didi

swift - 是否可以在 Swift 中限制范围?

转载 作者:行者123 更新时间:2023-12-02 04:51:10 24 4
gpt4 key购买 nike

<分区>

像大多数语言一样,Swift 支持条件、循环等范围有限的变量,但是它似乎不支持自己的普通 block ,这很遗憾,因为我发现它是一种非常有用的限制范围的方法变量的范围,尤其是函数的整个长度可能需要的昂贵变量。

例如,我可能会做类似的事情(以 Swift 为例,因为它目前无法编译):

var results = []
while let newResult = someFunction() { results.append(newResult) }

{
var newItems = []
while let newItem = foobar() { newItems.append(newItem) }
// Process newItems into results so we can add them
results += newItems
}

// Do some more stuff down here

它对于常见的占位符名称也非常方便,但在执行的不同部分可能具有不同的类型。虽然我可以声明不同的名称,但实际上它最终可能比仅重用具有明确标记范围的好变量名称更令人困惑或更困惑。

当然我可以做一些像 if true {} 这样的事情来作弊,但这似乎没有必要。那么有没有一种方法可以只声明一个范围/ block 而不必放入条件?

我知道这可能与闭包的形成方式有关,但是有没有办法在 Swift 中做这样的事情来限制变量范围?

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