Flutter学习(二)之Dart语法深入

目录

  • 流程控制语句
  • 异常
  • 泛型

流程控制语句

if语句

void displayName0(String name){
  if(name==null){
    print("2020");
  }else{
    print(name);
  }
}

void displayName1(String name){
  print(name==null?"2019":name);
}

void displayName2(String name){
  print(name??"2019");
}

void main() {
  var name = null;
  displayName1(name);
}

for循环

a.标准for循环
b.forEach
c.for… in

void main() {
  var list = [1,2,3,4];
  
  //标准for循环打印数据
  for(var i=0;i<list.length;i++){
    print(list[i]);
  }
  
  //forEach打印数据 
  list.forEach((e)=> print(e));
  
  //for...in 打印数据
  for(var item in list){
    print(item);
  }
}

while循环

在这里插入图片描述

switch语句

在这里插入图片描述

break 和 continue

break跳出当前循环结构。
continue结束当次的循环,进行下一次循环。
通java
在这里插入图片描述

断言语句

在这里插入图片描述

异常

在这里插入图片描述

抛出异常

在这里插入图片描述

捕获异常

在这里插入图片描述
在这里插入图片描述

构造函数

在这里插入图片描述
默认构造函数
在这里插入图片描述
命名构造函数
在这里插入图片描述
重定向构造函数
在这里插入图片描述
常量构造函数
在这里插入图片描述

class ConstBean{
  final int x;
  final int y;
  
  const ConstBean(this.x,this.y);
}

void main() {
  ConstBean a = const ConstBean(1,2);
  ConstBean b = const ConstBean(1,2);
  assert(identical(a,b));
  ConstBean c =  ConstBean(1,2);
  // a 和 c并不是一个实力,有力c的实例化,没有增加const关键字
  assert(identical(a,c));
  print('hello');
}

工厂构造函数
在这里插入图片描述

继承时,构造函数的调用流程

在这里插入图片描述

class Person {
  Person.fromJson(Map data){
    print("Person");
  }
}

class Student extends Person{
  
   Student.fromJson(Map data):super.fromJson(data){
    print("Student");
  }
}

void main() {
   Student s = Student.fromJson({});
}

方法

在这里插入图片描述

class Point{
  num x,y;
  Point(this.x,this.y);
  num distanceTo(Point d){
      var dx = d.x - x;
      var dy = d.y - y;
      return sqrt(dx*dx+dy*dy);
  }
}

void main() {
  Point p = Point(1,2);
  Point p1 = Point(4,5);
  print (p1.distanceTo(p)); 
}

getter 和 setter

在这里插入图片描述

抽象方法

在这里插入图片描述

抽象类

在这里插入图片描述

隐式接口

在这里插入图片描述

扩展类

在这里插入图片描述

可重写的运算符

在这里插入图片描述

枚举类型

mixin模式继承

在这里插入图片描述

abstract class Animal{}
abstract class Bird{}

mixin Walker{
  void walk(){
    print("I am walking");
  }
}

mixin Flyer{
  void fly(){
    print ("I am flying");
  }
}

class Parrot extends Bird with Walker,Flyer{}


void main() {
  Parrot parrot = Parrot();
  parrot.fly();
  parrot.walk();
}

静态成员

在这里插入图片描述

泛型的使用

在这里插入图片描述

使用集合字面量

在这里插入图片描述

使用类型参数化的构造函数

在这里插入图片描述

使用extends限定参数化类型

在这里插入图片描述

泛型方法

在这里插入图片描述

发布了98 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/dirksmaller/article/details/103989760