数字
numintdouble字符串 String
subString(1,5)
字符串截取indexOf(“XX”)
xx:获取指定字符串位置startWith
判断开始位置的字符串replaceAll
替换指定地字符串etc:查看文档,当需要的时候
布尔 bool
强类型检查
只有bool的类型的值是true 才被认为是true集合 List
List list = [1,2,‘集合’]
List listInt = [‘String’] 使用泛型,强类型检查后,编译期间直接抛错
listInt = list; //build 期间之间抛错 (错误做法,类型转换错误)
remove
insert
sublist
indexOf
通过迭代器的形式:
遍历
for
for in
for(val obj in list){}forEach
list.forEach( (val){//语句xxx} )Map
Map 是将Key和value 相关联的对象,key 和value 都可以是任何类型的对象,并且key是唯一的如果后来有从重复的则会把前边的key进行覆盖
初始化
Map names = {“name1”:“bean”}Map ages = {}; ages[“key1”] = value1遍历
for (var key in ages.keys){ print(’$key ${ages[key]}’); }
调用map 方法生生成新的map
Map ages2 = ages.map((k,v){ //迭代生成一个新Map return MapEntry(v, k);//和之前的MAP的K,V 刚好相反 });forEach
names.forEach((k, v ){ print(‘ k , k, k,v’); });混淆点
Object
Dart基类
只能调用Object 存在的方法类型可以被反复修改和dynamic唯一的区别是在静态类型检查上dynamic
对象的基础类型,数据类型可以反复被修改
通常不使用,原因是静态类型检查不会抛错,运行时会crash,var
一旦定义,不允许被修改。(系统会动态推断数据类型)对象
变量
私有变量定义 _privateVar方法
构造方法 (是方法的一种)
标准构造方法
Person(this.xx , this.xx)初始化列表
除了调用父类构造器,在子类构造方法体之前,可以初始化实例变量,不同的初始化变量之间用逗号分割
Student(this._school, String name, int age, {this.city,this.country = “china”}) : name = ‘$country and $city’, super(name, age){ print(‘方法体不是必须的’); }如果父类没有默认构造的方法(无参的构造方法),则需要在初始化列表中调用父类的构造方法进行初始化
方法体可省略
命名构造方法
结构[类名+.+方法名]先使用父类的构造方法进行初始化是一种特殊的构造方法(针对flutter而言)方法体可以省略工厂构造方法
factory 标识唯一实例更像是其他语言里边的单例:大多约定使用static更像是一种模式使用工厂模式来定义构造方法就称为工厂构造方法命名工厂构造方法
网络请求,数据解析时候会经常用到factory [类名+.+方法名]可以又返回值,不需要讲类的final变量作为参数,是提供一种灵活获取类对象的方式。可选参数/默认参数
默认参数一定是可选参数初始化的时候需要使用 {} 包括起来非构造方法独有,其他的方法也可以使用实例方法
除了构造方法外都是实例方法setters 和 getters
让外界对内部属性进行设值/获取值
String get => _schoolset school(String vlue){_school = value}静态方法
static myPrintFun(){ print(‘msg is print’) }类名+方法 进行调用抽象类
abstract 关键字修饰抽象类不能被实例化定义接口的时候比较常用。类似与虚基类类可以没有抽象方法,如果有抽象方法则是抽象类抽象方法
在抽象类里边存在的方法,称为抽象方法必须继承Ojbect
不能有构造方法
不能调用super
特性是可以快速复用代码
使用mixins
需要在with关键字后边跟上一个或多个mixins的名字《逗号分割》with要用在extends后边可以使用?.的形式 避免访问时候crash
例如List list = List();list.length则会crashlist?.length则不会可以使用?? 提供一个默认值
也可以使用数组的形式判断多个条件的匹配
例如:["",null,]返回值
参数
普通参数可选参数参数默认值入口方法
main 方法构造方法
初始化类变量的方法实例方法
setters/getters
静态方法
抽象方法
私有方法
匿名方法
泛型方法
XMind - Trial Version
