久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

關(guān)于dart中的late關(guān)鍵字,,你了解多少,?

 大前端之旅 2022-03-09

作者:堅(jiān)果

公眾號:"大前端之旅"

華為云享專家,InfoQ簽約作者,,阿里云專家博主,,51CTO博客首席體驗(yàn)官,開源項(xiàng)目GVA成員之一,,專注于大前端技術(shù)的分享,,包括Flutter,小程序,安卓,VUE,,JavaScript,。

Dart 2.12 在變量中添加了late修飾符。這可以用于以下兩種情況,。

  • 將您的項(xiàng)目遷移到零安全,。

  • 延時初始化一個變量。

1. 將您的項(xiàng)目遷移到零安全

在聲明初始化的不可為空變量時可以使用late 修飾符,。

例子

late String title;
void getTitle(){
title = 'Default';
print('Title is $title');
}

注意:

在使用變量之前的后期確保變量稍后必須初始化,。否則在使用變量時可能會遇到運(yùn)行時錯誤。

2.延時初始化一個變量

這種延時初始化在以下情況下很方便,。

  • 該變量可能不需要,,并且初始化它的成本很高。

  • 您正在初始化一個實(shí)例變量,,它的初始化程序需要訪問它,。

// This is the program's only call to _getResult().
late String result = _getResult(); // Lazily initialized.

在上面的示例中,如果從未使用過變量,,則永遠(yuǎn)不會調(diào)用成本更高的 _getResult() 函數(shù),。

假設(shè)_getResult()是計算該結(jié)果的非常重要的函數(shù)。但是,如果我們將它分配給任何變量而不延時,,那么_getResult()即使我們不使用它,,每次都會執(zhí)行。

沒有 late關(guān)鍵字

//START
String result = _getResult();
//END

在上面的代碼中,,result從未使用過,,但_getResult()依舊會被執(zhí)行。

使用 late關(guān)鍵字

//START
late String result = _getResult();
//END

在上面的代碼中_getResult()沒有被執(zhí)行,,因?yàn)樽兞縭esult從未使用過發(fā)現(xiàn)了沒,,它是使用late修飾符聲明的。

好的,,關(guān)于late關(guān)鍵字,,我們就了解到這兒,這也是對自己的知識體系的一個梳理,。

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多