簡體   English   中英

Dart:如何將function作為參數傳遞

[英]Dart: How to pass function as parameter

我想從另一個 function 呼叫一個 function,這是我的代碼:

  void fooA () {
    //do something
  }
  
  void fooB (fooC) {
    fooC();
  }
  
  fooB (fooA);

為什么 fooA 沒有被執行?

您提供的代碼功能:

void fooA () {
  print('hi');
}

void fooB (fooC) {
  fooC();
}

main() {
  fooB (fooA);
}

Output:

hi

但是,最好完整鍵入 function arguments,如:

void fooA() {
  print('hi');
}

void fooB(void Function() fooC) {
  fooC();
}

main() {
  fooB(fooA);
}

請注意完整的描述性類型聲明void Function() fooC 這樣做使編譯器能夠使用 static 類型檢查來確保傳入的 function 具有正確的參數和返回類型。

參考

暫無
暫無

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

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