flutter入门


flutter学习路线如果有基础的话根本就不用害怕,其实不难的,之前囫囵吞枣的阅读dart和flutter文档觉得好难有点无从下手,最近做demo打击的不要不要的,好在内心强大没有放弃,希望你也不要放弃,好好了解过dart之后我好喜欢这个语言,是谷歌的团队结合几乎所有的语言的优点,然后开发的一款语言,然后使用它的框架flutter可以适应andrio和ios两个端,开发一个项目程序就可,是不是很牛叉。我爱了爱了。 参考文档

变量声明

变量定义

var dynamic object

var 在js中是声明变量,但是在dart中是声明类型,因此一个变量的值更替必须是同类型的,因为dart中dynamic和object是所有对象的根基类,因此可以不同类型间进行转换。
dynamic和object的区别是:dynamic可以用任何变量类型的方法,然而object只能用object下面的方法
dynamic有一个编译不会出错但是运行时会报错的特点

final const

定义常量

空安全?

给变量赋值的时候后面加上一个?表示可以为空也可以不为空,但是有时候变量给它赋值过了但是变量显示不出来这个时候可以在变量后面加上一个!形如int i !=null(尽量不要写)

函数

dart是一种面向对象的语言,即使是函数也是对象,如果函数只有一条语句那么可以使用箭头函数,
函数可以作为参数传递也可以作为变量

可选位置参数

可选参数,参数可以不写放在参数列表的后面

String say(String from, String msg, [String device]) {
   

}

可选命名参数

//设置[bold]和[hidden]标志
void enableFlags({
   bool bold, bool hidden}) {
   
    // ... 
}
enableFlags(bold: true, hidden: false);

两类可选参数不能同时使用

mixin

dart用mixin来实现多继承,Eat和Walk和Code定义时是用mixin定义的而不是class,with关键字可以将多个mixin组合成不同的类

class Man extends Person with Eat, Walk, Code{
   }

异步支持

Future

future和promise非常相似,表示一个异步操作最终完成及其结果表示,一个future只会对应一个结果要么成功,要么失败。

Future.delayed(Duration(seconds: 2),(){
   
   //return "hi world!";
   throw AssertionError("Error");  
}).then((data){
   
   //执行成功会走到这里  
   print("success");
}).catchError((e){
   
   //执行失败会走到这里  
   print(e);
});

o nError来普获then中的不同

Future.delayed(Duration(seconds: 2), () {
   
	//return "hi world!";
	throw AssertionError("Error");
}).then((data) {
   
	print("success");
}, onError: (e) {
   
	print(e);
});

成功之前执行功能代码,程序执行完成之后执行代码

Future.delayed(Duration(seconds: 2),(){
   
   //return "hi world!";
   throw AssertionError("Error");
}).then((data){
   
   //执行成功会走到这里 
   print(data);
}).catchError((e){
   
   //执行失败会走到这里   
   print(e);
}).whenComplete((){
   
   //无论成功或失败都会走到这里
});

Future.wait

让多个异步操作都执行完成之后在执行,只要其中一个执行失败就会执行其他失败的。

Future.wait([
  // 2秒后返回结果  
  Future.delayed(Duration(seconds: 2), () {
   
    return "hello";
  }),
  // 4秒后返回结果  
  Future.delayed(Duration(seconds: 4), () {
   
    return " world";
  })
]).then((results)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值