dart語言是谷歌開發的一款程式語言,谷歌移動開發框架flutter就是使用該語言作為開發語言
dart支援函式式程式設計,函式式程式設計可以實現的功能之一是currying,柯里化
currying是啥呢?
維基百科裡給出的概念:是一種把接受多個引數的函式變換成接受乙個單一引數(最初函式的第乙個引數)的函式,並且返回接受餘下的引數而且返回結果的新函式的技術。
概念讀起來很繞口,還是直接上例子吧
add(a) ;
}main()
以上**實現的功能就是求值 a + b。
add方法接收乙個引數a,返回乙個函式,該函式的引數是b,方法體是求a和b的和
採用lambda表示式的方式為:
add(a)
再簡化一下:
add(a) => (b) => a + b;
通過以下方式可以看到呼叫add(a),會返回乙個函式,該函式就是 (b) => a + b;
main()
Dart語言中的async和await
async 和 await 開始說這兩個關鍵字之前我覺得有必要提一下 在dart中沒有子執行緒一說,所有 都是在一條主線上執行的,所以需要用非同步來實現一些耗時操作。如果非要開啟多執行緒需要使用隔離,這裡不做敘述 來說一下這兩個關鍵字吧,async用來修飾方法,需要寫在方法括號的後面,await寫在...
Dart語言學習 十四 Dart泛型
什麼是泛型?通俗理解 泛型就是解決 類 介面 方法的復用性 以及對不特定資料型別的支援 型別校驗 如下 只能返回string型別的資料string getdata string value 如下 同時支援返回 string型別 和int型別 但是這麼些造成 冗餘string getdata1 str...
Dart語言學習 三 Dart數值型
數值型有num,int,double num a 10 a 12.5 print a print a.runtimetype int b 20 b 20.5 print b print b.runtimetype double c 10.5 c 30 print c print c.runtimet...