簡體   English   中英

Dart 中 Function 類型的參數默認值

[英]Default value for parameter of Function type in Dart

考慮 Dart 文件中的 function

void myFunction({int input = 1, Function(int, String) callback}) {
// ...
}

所以,我想知道是否有可能為callback參數指定一個默認值,例如它可以是(_, _) => { }之類的東西。

PS我知道它有null作為默認值和?? 可以幫助避免NPE ,我只是好奇這是否可能。 干杯。

您可以執行以下操作:

dynamic func(int i, String s) {
  print(i.toString() + s);
}

void myFunction({int input = 1, Function(int, String) callback = func}) {
  callback(input, " .");
}

void main() {
  myFunction(input: 2);
}

可選參數的默認值必須是常量。

文件是這樣說的

這個東西可以這樣繞過:

 dynamic myCallback(int a,String b) {
      
  }
  
 void myFunction({int input = 1, Function(int, String) callback }) {
    if (callback == null) callback = myCallback;
  }

編輯:

或者,您可以使用不帶myCallback 函數myCallback匿名函數,如下所示:

void myFunction({int input = 1, Function(int, String) callback }) {
   if (callback == null) callback = (a,b){};
  }

暫無
暫無

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

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