flutter基础

1.在所有 Dart 版本中,null 在未初始化的变量里都是默认值,所以你可以这样简化你的代码
int? a = null 可以简化为 int? a

String? name = "Jane"; String? address;
String?表示可为空

2.要保护可能会为空的属性的正常访问,请在点(.)之前加一个问号(?)
例如 person?.house person 如果是null 直接返回null,
等价于(person != null) ? person.house : null

  1. ??=
int? a;

print(a);

int? ab = 3;
a ??= 5; //   ??= 为空才赋值 如果 a为空的时候给赋值5
ab ??= 5; // ab 有值所以不会赋值 所以ab还是3

  1. ??
int ? a;
int b = 1;
 print(b ?? 3); //只会输出1 不会为3 其实就是Swift的判空赋值
 print(a ?? 12) //此时输出为12 

5.集合类型

  final aListOfStrings = ["One","Two","Three","Four","Five"]; //list
  final aSetOfStrings  = {"One","Two","Three","Four","Five","One"}; // set 不允许有重复的元素
  final aMapOfStringsToInts = {"One":1,"Two":2,"Three":3,"Four":4,"Five":5};
  final aListOfInts = <int>[]; //手动指定类型
  final aSetOfInts = <int>{};
  final aMapOfIntToDouble = <int, double>{};

6.可选参数 - 可选位置参数永远放在方法参数列表的最后

int sumUpToFive(int a, [int? b, int? c, int? d, int? e]) {
  int sum = a;
  if (b != null) sum += b;
  if (c != null) sum += c;
  if (d != null) sum += d;
  if (e != null) sum += e;
  return sum;
}
  1. art函数声明如果没有显式声明返回值类型时会默认当做dynamic处理
//不指定返回类型,此时默认为dynamic,不是bool
isNoble(int atomicNumber) {
  return _nobleGases[atomicNumber] != null;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容