gpt4 book ai didi

dart - 有没有办法在 Dart 中通过引用传递原始参数?

转载 作者:行者123 更新时间:2023-12-01 17:03:30 26 4
gpt4 key购买 nike

我想通过引用传递一个原语(int,bool,...)。我在这里找到了关于它的讨论(“通过引用传递值类型”段落):value types in Dart ,但我仍然想知道是否有办法在 Dart 中做到这一点(除了使用对象包装器)?有什么发展吗?

最佳答案

Dart 语言不支持这一点,我怀疑它永远不会支持,但 future 会告诉我们答案。

基元将按值传递,正如这里已经提到的,“按引用传递基元”的唯一方法是将它们包装起来,如下所示:

class PrimitiveWrapper {
var value;
PrimitiveWrapper(this.value);
}

void alter(PrimitiveWrapper data) {
data.value++;
}

main() {
var data = new PrimitiveWrapper(5);
print(data.value); // 5
alter(data);
print(data.value); // 6
}

如果您不想这样做,那么您需要找到另一种方法来解决您的问题。

我看到人们需要通过引用传递的一种情况是他们想要将某种值传递给类中的函数:

class Foo {
void doFoo() {
var i = 0;
...
doBar(i); // We want to alter i in doBar().
...
i++;
}

void doBar(i) {
i++;
}
}

在这种情况下,您可以将 i 设为类成员。

关于dart - 有没有办法在 Dart 中通过引用传递原始参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18258267/

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