Dart学习记录(五)

 1、? 可空类型 类型值后加?
String? username="张三";   // String?  表示username是一个可空类型
username=null;
print(username);
 List<String>? l1=["张三","李四","王五"];
 l1=null;  
  print(l1);
 
   2、 ! 类型断言
 String? str = "this is str";

  str = null;

  print(str!.length);

  //类型断言: 如果str不等于null 会打印str的长度,如果等于null会抛出异常

  printLength("str");

  3、 late 关键字 

    用于延迟初始化

class Person {
  late String name;
  late int age;

  void setName(String name, int age) {
    this.name = name;
    this.age = age;
  }

  String getName() {
    return "${this.name}---${this.age}";
  }
}

void main(args) {
  Person p = new Person();
  p.setName("张三", 20);
  print(p.getName());
}

  4、required关键词 表明参数必须传入

String printInfo(String username, {required int age, required String sex}) {//行参    
  return "姓名:$username---性别:$sex--年龄:$age";
}
class Person {
  String name;
  int age;
  Person({required this.name,required this.age});  //表示 name 和age 必须传入

  String getName() {
    return "${this.name}---${this.age}";
  }
}

 

 

posted @ 2021-07-15 10:13  sansamilly  阅读(60)  评论(0编辑  收藏  举报