dart空安全

dart空安全

一. 空安全的使用 类型? || ?? || 值!

  // int value = <String, int>{'one': 1}['one']; // ERROR
  
  // map对象取值时,可能为空,这里给类型加一个 ?
  // int? value = <String, int>{'one': 1}['one']; // SUCCES
  
  // 当确定取到的值肯定不是空的 , 增加 !
  // int value = <String, int>{"one" : 1}["one"]!;
  
  // 或者使用 ??
  // var aMap = <String, int>{'one': 1};
  // int value = aMap["one"] ?? 0 ;
  // print(value);

二. 列表类型的空安全使用

  // List<String> arr = ["one" , "two"];
  // print(arr[0].length); // SUCCES
  
  // List<String?> arr = ["one"]; 
  // print(arr[0].length); // ERROR
  // print(arr[0]?.length); // SUCCES
  
  // List<String>? arr = ["one"];
  // print(arr[0].length);  // SUCCES
  // print(arr.length);  // SUCCES
  
  // List<String?>? arr = ["one"];
  // print(arr.length); // SUCCES
  // print(arr[0].length); // ERROR
  // print(arr[0]?.length); // SUCCES

三. 映射类型的空安全使用

  // Map<String , int> aMap = {'one' : 1};
  // print(aMap["one"].toString()); // SUCCES
  
  // Map<String , int?> aMap = { "one" : 1 };
  // print(aMap["one"].length); // ERROR
  // print(aMap["one"]?.toString()); // SUCCES
  
  // Map<String , int?>? aMap = { "one" : 1};
  // print(aMap["one"].toString()); // SUCCES
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值