[英]What does the "as" keyword do in Dart language?
我對“as”關鍵字的使用感到困惑。
它是轉換運算符還是別名運算符?
我在互聯網上遇到了以下看起來像演員操作員的代碼:
var list = json['images'] as List;
這是什么意思?
只是添加 as 關鍵字現在被 linter 標記,他們更喜歡你使用像 is 這樣的檢查
if (pm is Person)
pm.firstName = 'Seth';
正如語言之旅所說:
當且僅當您確定對象屬於該類型時,使用 as 運算符將對象轉換為特定類型。
按照你的例子:
var list = json['images'] as List;
您將在這里使用as
將json['images']
轉換或轉換為<List>
對象。
從另一個SO 帖子(談論顯式cast
與as
):
as ... 更像是一個斷言,如果值類型不匹配 as 會導致運行時異常。
您也可以在導入包時使用它。 一個常見的例子是dart:convert as JSON
然后可以達到final foo = JSON.jsonDecode(baz)
它正在鑄造,您的代碼類似於:
List list = json['images'];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.