Flutter-Dart基础语法

熊猫卓Sun 2020年06月29日 31次浏览

记录基础Dart语法

  1. 可选的位置参数,后置
    包装一组函数参数,用[]标记为可选的位置参数,并放在参数列表的最后
String say(String from, String msg, [String device]) {
  var result = '$from says $msg';
  if (device != null) {
    result = '$result with a $device';
  }
  return result;
}

方法调用:

//第三个参数是可选参数,可有可无
say('Bob', 'Howdy', 'smoke signal');
  1. 可选的命名参数
    命名参数这种用法最早是在oc里边见到,没想到在flutter里也有了
//设置[bold]和[hidden]标志
void enableFlags({bool bold, bool hidden}) {
    // ... 
}

方法调用

enableFlags({bold:true,hidden:fase});

注意事项:
不能同时使用可选的位置参数和可选的命名参数
3. 使用async/await消除callback hell
使用async/await消除回调

task() async {
   try{
    String id = await login("alice","******");
    String userInfo = await getUserInfo(id);
    await saveUserInfo(userInfo);
    //执行接下来的操作   
   } catch(e){
    //错误处理   
    print(e);   
   }  
}

async用来表示函数是异步的,定义的函数会返回一个Future对象,可以使用then方法添加回调函数。
await 后面是一个Future,表示等待该异步任务完成,异步完成后才会往下走;await必须出现在 async 函数内部。