Dart学习14、Dart2.13之后的一些新特性

Null safety 空安全

Null safety 空安全
null safety可以帮助开发避免一些日常开发中很难被发现的错误,并且额外的好处是可以改善性能
Flutter2.2.0之后的版本都要求使用null safety
?可空类型
! 类型断言

?可空类型

//定义一个可返回null的方法
String? getData(apiUrl) {
  if (apiUrl != null) {
    return "this is server data";
  }
  return null;
}
void main(List<String> args) {
  int a = 123; //非空的int类型
  // a = null; 错误

  //null赋值
  String? name = "AA"; // String?表示name是一个可空类型
  name = null;
  print(name); //null

  print(getData("apiUrl"));//this is server data
  print(getData(null));//null
}

类型断言

void main(List<String> args) {
 //类型断言
  String? str = "this is String";
  str = null;
  print(str!.length); //如果str不等于null,输出长度,等于null抛出异常

}

late 关键字

主要用于延迟初始化

required

最开始@required是注解
现在它已经作为内置修饰符
主要用于允许根据需要标记任何命名参数(函数、类),使得他们不为空,因为可选参数必须有个required
String printInfo(String name, {required int age, required String sex}) {
  if (age != 0) {
    return "姓名:$name---性别:$sex---年龄:$age";
  }
  return "姓名:$name---性别:$sex---年龄未知";
}

String printUserInfo(String name, {int age = 0, String sex = "男"}) {
  if (age != 0) {
    return "姓名:$name---性别:$sex---年龄:$age";
  }
  return "姓名:$name---性别:$sex---年龄未知";
}

void main(List<String> args) {
  //{}的中参数必须传入
  printInfo("张三", age: 23, sex: "女");
  //后面{}中的参数可选择不传入 但是一定要在方法中初始化
  printUserInfo("李四");
}

至此Dart基础就结束啦,不过还是要多多练习哦
后面就正式进入到flutter学习了,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JMchen123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值