• “两学一做”在山西——黄河新闻网 2019-07-13
  • 内地生报读香港高校本科人数持续下跌 2019-07-13
  • 【学习时刻】人民大学王义桅:金砖合作的“自信”与“自觉” 2019-07-12
  • 女子请“私家侦探”被骗3万 警方循线捣毁诈骗团伙 2019-07-11
  • 【学习时刻】北交大马院院长韩振峰:高校思想政治工作必须牢牢把握三大根本问题 2019-07-11
  • 全国“非遗”保护工作先进名单公布 2019-07-01
  • 紫光阁中共中央国家机关工作委员会 2019-06-25
  • 杭州控烟令修改草案拟允许室内设吸烟区,控烟专家:跌破眼镜 2019-06-25
  • 挪用近30万报纸征订款赌博 河南一报社聘用制干部获刑 2019-06-23
  • 2016年,有1145家上市公司大小非减持了3600亿元,还有210名上市公司高管减持了1400亿元。IPO已成了造就成千上万个十亿、百亿富豪的捷径, 2019-06-21
  • 专家“把脉”中国电影市场:提升品质方能逆袭 2019-06-21
  • “善款资助副局长儿子留学”真相须尽快落地 2019-06-19
  • 21岁女护士失联2天后确认遇害 嫌疑人为其前男友 2019-06-19
  • 中国地质公园名录旅行地中国国家地理网 2019-06-13
  • 玄关运用有四大原则 用的好才能财旺挡煞聚财 ——凤凰网房产 2019-06-10
  • Flutter学习笔记(4)--Dart函数

    如需转载,请注明出处:Flutter学习笔记(4)--Dart函数

    广东十一选5一定牛 www.aavbg.com Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理;

    一.指定返回值的函数

     

    //判断两个字符串是否相等
    bool isEqual(String name1,String name2){
        return name1 == name2;
    }
    print(isEqual('张三','李四'));
    
    //打印结果:false

     

    上面的示例我们指定了参数的类型,在不确定参数的类型的情况下,我们的参数可以用dynamic、object或var来接收参数

    //判断两个字符串是否相等
    bool isEqual(dynamic name1,var name2){
        return name1 == name2;
    }
    print(isEqual('张三','李四'));
    
    //打印结果:false

    二.不指定返回值的函数

    //判断两个字符串是否相等
    isEqual(String name1,String name2){
        return name1 == name2;
    }
    print(isEqual('张三','李四'));
    
    //打印结果:false
    
    //打印文本
    isEqual(dynamic name1,object name2){
        var result = '$name1和$name2的名字是否相同';
        if(name1 == name2){
            result = '$name1和$name2的名字不同';
        }else{
            result = '$name1和$name2的名字相同';
    }
        return result;
    }
    
    print(isEqual('张三','李四'));
    
    //打印结果:张三和李四的名字不同

    三.如果函数里面只有一个表达式,则可以这样简写

    void printSth(String content) => print('hello word');

    四.可选参数

    一个函数可以有两种参数:必须的和可选的,必须参数要放在前面,可选参数(即可以不传)要放在后面;

    可选参数又分为两种:位置参数和命名参数,两种参数都可以设置默认值,如果没有设置默认值,则默认值为null;

    1.可选的命名参数

    定义一个函数,使用{String param1,String param2,...........}指定命名参数,在调用方法的时候,需要指出你要给哪个参数进行传值,如:

    (1)无默认值例子:

    void printSth(String param1,{String param2,String param3}) => print(param1+''+param2+''+param3);
    
    printSth('张三',param2:'李四',param3:'王五');
    
    //打印结果:张三让李四打王五
    
    void printSth(String param1,{String param2,String param3}) => print(param1+''+param2+''+param3);
    
    printSth('张三',param2:'李四');
    
    //打印结果:张三让李四打null
    
    这里我们可以看到必须参数和可选的命名参数的区别,必须参数直接传值,可选的命名参数需要指定参数名进行传值,如果没有传值,则默认值为null;

    (2)有默认值的例子

    void printSth(String param1,{String param2,String param3:'王五'}) => print(param1+''+param2+''+param3);
    
    printSth('张三',param2:'李四');
    
    //打印结果:张三让李四打王五

    2.可选的位置参数

     

    与可选的命名参数不同,可选的位置参数需要通过[]将参数包裹起来,就能标识成位置参数

    (1)没有默认值的例子

     

    void printSth(String param1,[String param2,String param3]) => print(param1+''+param2+''+param3);
    
    printSth('张三','李四','王五');
    
    //打印结果:张三让李四打王五
    
    void printSth(String param1,[String param2,String param3]) => print(param1+''+param2+''+param3);
    
    printSth('张三','李四');
    
    //打印结果:张三让李四打null

     

    (2)有默认值的例子

    void printSth(String param1,[String param2,String param3 = '王五']) => print(param1+''+param2+''+param3);
    
    printSth('张三','李四');
    
    //打印结果:张三让李四打王五

    总结一下命名参数和位置参数

    命名参数:使用{}将参数包裹起来,传参时需要指定参数名,默认值使用“:”指定;

    位置参数:使用[]将参数包裹起来,传参时不需要指定参数名,按位排,默认值使用“=”指定;

    五.main函数

    Flutter应用程序必须要有一个main函数,和其他语言一样作为程序的入口函数,下面的代码表示应用要启动MyApp类;

    void main() => runApp(MyApp());

    六.函数的返回值

    在Dart语言中,函数的返回值有如下特点:

    1.所有的函数都会有返回值;

    2.如果没有指定函数的返回值,则默认的返回值是null;

    3.没有返回值的函数,系统会在最后添加隐式的return语句;

     

    下一章节:lutter学习笔记(5)--Dart运算符

     

    posted @ 2019-07-10 23:52 CurtisWgh 阅读(...) 评论(...) 编辑 收藏
  • “两学一做”在山西——黄河新闻网 2019-07-13
  • 内地生报读香港高校本科人数持续下跌 2019-07-13
  • 【学习时刻】人民大学王义桅:金砖合作的“自信”与“自觉” 2019-07-12
  • 女子请“私家侦探”被骗3万 警方循线捣毁诈骗团伙 2019-07-11
  • 【学习时刻】北交大马院院长韩振峰:高校思想政治工作必须牢牢把握三大根本问题 2019-07-11
  • 全国“非遗”保护工作先进名单公布 2019-07-01
  • 紫光阁中共中央国家机关工作委员会 2019-06-25
  • 杭州控烟令修改草案拟允许室内设吸烟区,控烟专家:跌破眼镜 2019-06-25
  • 挪用近30万报纸征订款赌博 河南一报社聘用制干部获刑 2019-06-23
  • 2016年,有1145家上市公司大小非减持了3600亿元,还有210名上市公司高管减持了1400亿元。IPO已成了造就成千上万个十亿、百亿富豪的捷径, 2019-06-21
  • 专家“把脉”中国电影市场:提升品质方能逆袭 2019-06-21
  • “善款资助副局长儿子留学”真相须尽快落地 2019-06-19
  • 21岁女护士失联2天后确认遇害 嫌疑人为其前男友 2019-06-19
  • 中国地质公园名录旅行地中国国家地理网 2019-06-13
  • 玄关运用有四大原则 用的好才能财旺挡煞聚财 ——凤凰网房产 2019-06-10
  • 欢乐斗地主单机版下载 福彩3d组选3投注技巧 上海天天彩选4开奖公告 体彩p3试机号2019287期 青海11选5今天开奖结果 河南快3走势图今天 一肖中特免费公开 pk彩票论坛 篮球比赛胜分差规则 排列三跨度走势图连线 排列5登托复式计算表 极速快乐十分走势 福建时时彩怎样看走势图 平特肖免费论坛 辽宁十一选五走势一定牛