今天我們來看看Dart語言的一個有趣的特性——可調用對象。對象也可以像函數那樣被調用,這個特性是怎麼用的呢…… ...
Dart官方文檔:https://dart.dev/language/callable-objects
重要說明:本博客基於Dart官網文檔,但並不是簡單的對官網進行翻譯,在覆蓋核心功能情況下,我會根據個人研發經驗,加入自己的一些擴展問題和場景驗證。
可調用對象:Dart實例如果實現了call()
方法,那麼實例就可以像函數那樣被調用,這個對象就被稱為可調用對象。call()
方法可以定義在任何類中,讓類實例像函數一樣被調用。這個函數和普通函數沒有區別,包括參數和返回值等。
如下代碼樣例,WannabeFunction
類定義了call()
方法,方法入參是3個字元串,方法返回結果是一個字元串:
class WannabeFunction {
String call(String a, String b, String c) => '$a $b $c!';
}
var wf = WannabeFunction();
var out = wf('Hi', 'NTopic,', 'CN');
void main() => print(out);
// 結果:Hi NTopic, CN!
Dart語言的可調用對象的應用場景,我目前還沒有涉及到,懇請各位網友幫忙補充,非常感謝