Flutter——Dart语言基本知识

Dart语言

  • 所有东西都是对象
  • 所有对象都是强类型
  • 在运行编译前,指定数据类型和编译时的常量,能提高编译速度
  • 统一入口是main函数
  • 表示私有特性是在函数或变量前面加_
  • 支持async/await异步特性

关键字

特别的有
var

with与Mixin继承机制有关

factory

类型

变量用var定义,不初始化,则后期可以任意赋值
若用确定的类型定义,则必须用同类型赋值

* 一切变量初始化都是null

final定义的变量只能赋值一次,值作用于自身
例:

final ls1=1;
ls1=2;
不可以,直接提示错误

final ls1 = [1, 2, 3];
ls1[1] = 8;
可变。说明它的子元素是可变的

num类是int和double的基类

常量
const不可变,定义后需要立刻赋值

  • 集合

      var ls=List();
      var ls=<String>[];(最好这种);
    
      var personInfo=Map<String,String>();
      var personInfo=<String,String>{};(最好这种)
    
  • 枚举
    enum ResponseState{

    }

Dart内置库

dart:async
dart:collection
dart:convert
dart:core
dart:html
dart:io
dart:math
dart:svg

Mixin 的继承机制

abstract class Animal {
    void say();
}

class PersonInfo {
    void showInfo() {
        print('this is show person info');
    }
}

class Person extends Animal with PersonInfo {
    //无论是extends、implements还是mixin,优先级最高的是在具体类中的方法。
    void showInfo() {
        print('person say');
    }

    @override
    void say() {
        print('say person');
    }
}


在main中
  var p = Person();
  p.showInfo();

  会输出
  person say

  因为无论什么具体类方法优先级最高


  extends、implements、with优先级比较

  with>implement>extends
  多个with的话最后一个with优先级高

总结

这些只是最基本的语法,学习Dart还有很长一段路要走

附上一篇大佬的Dart的Mixin机制文章
https://kevinwu.cn/p/ae2ce64/#场景

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值