Dart

Dart语言基础(四)之函数方法(Function)

2019-03-20  本文已影响0人  枫叶无处漂泊

方法定义

方法特性

可选参数

//可选位置参数,后面两个参数可以不传 age gender位置不能互换
 printOptionParams(String name,[int age, String gender]) {

        print('name=$name,age=$age,gender=$gender');
    }   
 
 void main(List<String> args) {
            
        printOptionParams('王五'); //name=王五,age=null,gender=null 
        
        //可选参数的条用param:value
        printOptionParams('王五',20); //name=王五,age=20,gender=null
        
        printOptionParams('王五',20,'男'); //name=王五,age=20,gender=男
        
        //必须按照位置来传参数,int String不能调用位置
        printOptionParams('王五','男', 20); //报错
}

默认参数

方法对象

匿名方法

闭包

        void main() {
            //func持有count的状态
            var func = a();
            //每次调用count并没有每次初始化为0
           //从打印结果来看,func持有count的状态
          //我们无法直接通过操作count来改变,可以通过闭包的方式,将其暴露出去,使得外部可以访问
            func(); //1
            func(); //2
            func(); //3
        }

        // 声明一个无返回值类型、无参数的函数
        a() { 
            //count是a的局部变量
            int count = 0;
          // 内部声明一个函数 : 闭包
            printCount()  {
            // 内部可以访问外部方法内的局部变量 count
                count += 1;
                print(count);
            }
              // 返回闭包
            return printCount;
        }

闭包的要素:

结尾

[下一篇讲述Dart语言基础(五)之面向对象基础特性](https://www.jianshu.com/p/c3b801de7584

上一篇 下一篇

猜你喜欢

热点阅读