簡體   English   中英

如何通過值而不是通過引用作為 dart 中的 function 的參數傳遞變量?

[英]How to passed variable by value not by reference as argument to function in dart?

默認情況下,在下面的代碼中,變量是通過引用 function 傳遞的,但是如何在 dart 中通過值傳遞變量?

// Dart 2.6.1
void func(List inp){
    inp[0]=1000;
}
main() {
    var a=[0,0,0];
    print(a);
    func(a);
    print(a);
}

output:

[0, 0, 0]

[1000, 0, 0]

過程結束。

你的問題不是很清楚。 但我認為你的意思是復制一個列表。 如果您對此代碼的預期 output 是

output:

[0, 0, 0]

[0, 0, 0]

然后使用 List.from 復制列表而不使其成為參考

void func(List inp){
  List x=new List.from(inp);  
  x[0]=1000;
}

main() {
    var a=[0,0,0];
    print(a);
    func(a);
    print(a);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM