91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flutter中怎么調用withAll函數

發布時間:2022-12-09 09:16:43 來源:億速云 閱讀:118 作者:iii 欄目:開發技術

這篇文章主要介紹“Flutter中怎么調用withAll函數”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Flutter中怎么調用withAll函數”文章能幫助大家解決問題。

正文

接收到這樣一個需求,就是英文名字中firstName和lastName,其中任何一個為null,就返回Empty。

剛拿到需求,這不簡單,if判斷不就可以了

if (firstName == null || lastName == null) {
    return 'Empty';
} 
return '$firstName $lastName';

確實,30秒搞定了。

withAll函數

自己想能不能再有更好一點的思路呢?可以更拓展一點的, 例如說三個字符串呢? 例如不是字符串,而是Object類型的呢?

于是就有了下面的代碼

提供一個withAll函數,這個函數檢查整個列表的空值,如果發現任何空值,回調將不會被調用,如果列表沒有空值,回調將調用整個列表轉換為非可選項列表T

T? withAll<T>(
    List<T?> optionals,
    T Function<List<T>> callback,
) => optionals.any((e) => e == null)
        ? null
        : callback(optionals.cast<T>());

然后添加一個方法,調用withAll函數,為他提供可選值列表,只有當列表不包含任何空值的時候才會調用回調

String getFullName(
    String? firstName,
    String? lastName,
) => withAll([
        firstName,
        lastName,
    ], (names) => names.join(' ')) ?? 'Empty';

測試一下

void main(List<String> args) {
    print(getFullName(null, null));// Empty
    print(getFullName('John', null));// Empty
    print(getFullName(null, 'Deo'));// Empty 
    print(getFullName('John', 'Deo'));// John Deo
}

關于“Flutter中怎么調用withAll函數”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万山特区| 溧水县| 丹江口市| 三都| 澜沧| 秦皇岛市| 元氏县| 陆良县| 绍兴县| 尉犁县| 茌平县| 育儿| 东阳市| 苍溪县| 通榆县| 友谊县| 乌恰县| 偏关县| 嘉荫县| 泌阳县| 定陶县| 五华县| 武汉市| 江安县| 罗定市| 东兰县| 儋州市| 天长市| 霞浦县| 蛟河市| 木里| 台山市| 郑州市| 浑源县| 汕尾市| 东乌珠穆沁旗| 锦州市| 宁南县| 左权县| 祁阳县| 长白|