美文网首页
Dart笔记(二)函数

Dart笔记(二)函数

作者: 啦啦哇哈哈 | 来源:发表于2019-05-19 20:18 被阅读0次

方法也是对象,Function
返回值类型、参数类型可省略
箭头语法: = > expr 也就是{return expr} 只适用于一个表达式,方法都有返回值,如果没有指定则默认return null

  • 可选参数(可选命名参数,可选位置参数)
//可选命名参数
//用的大括号
//大括号中俩参数是可以不传入的
//传的时候指定参数名对应传入
printPerson(String name, {int age, String gender}){
    print("name = $name, age = $age, gender = $gender");
}
//可选位置参数
//用的中括号
//传的时候是按位置传的
printPerson2(String name, [int age, String gender]){
    print("name = $name, age = $age, gender = $gender");
}
void main(){
    printPerson("zhang");
    printPerson("zhang",age:20)
    printPerson("zhang",gender:"Male");
    printPerson2("zhang");
    printPerson2("zhang",20)
    printPerson2("zhang",20,"Male");

}

注意的是,普通参数一定在可选参数前面

  • 默认参数值(基于可选参数,值只能是编译期常量)
  • 方法对象Function
    1.可以作为对象赋值给另一个Function变量
void main(){
    var func = printHello;//Function func = printHello
    func();//调用时候只需要加个括号就可以!
}

void printHello(){
    print("Hello");
}

2.可以作为参数传递给其他方法

void main(){
    var list2 = ["h","e","l"];
    pirnt(listTimes(list2, times));
}

List listTimes(List list, String times(str)){
    for(var index = 0; index < list.length; index++){
        list[index] = times(list[index]);
    }
    return list;
}

String times(str){
    return str * 3;
}
  • 匿名方法 参数列表 + 方法体
    (参数1, 参数2, ....){
        方法体...
        return 返回值
    }

1.可以赋值给一个变量,通过变量进行调用
一个极端的例子。

    void main(){
        var func = (str){
            print("Hello --- $str");
        };
        func(30);
        ((){
            print("Test");
        }).();
    }

2.可以在其它方法中直接调用或者传递给其他方法
上面那个times例子就可以改成

    print(listTimes(list2, (str){return str * 3}));

相关文章

  • Dart笔记(二)函数

    方法也是对象,Function返回值类型、参数类型可省略箭头语法: = > expr 也就是{return exp...

  • Dart 笔记 6 - 函数

    函数也是对象,类型是 Function。 如果忽略了参数类型,函数仍然可以正常运行 只有一个表达式的函数,可以简写...

  • Dart学习笔记——函数

    方法的定义、方法的作用域 方法传参 1、一般传参 2、可选参数 3、命名参数 4、方法当做参数 函数的调用 1、箭...

  • Dart语法(下)

    前文链接: Dart简介 Dart语法(上) 内容: 函数(方法)函数定义及各类函数;函数参数;闭包 面向对象定义...

  • Flutter之Dart基础

    一. Hello Dart 1.1 Hello Dart 和大多数语言一样,Dart的入口函数也是Main函数,新...

  • 【Dart】函数

    声明函数 直接声明Dart中声明函数不需要function关键字 箭头函数+Dart中 的箭头函数中,函数体只能写...

  • dart语法7-泛型

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法8-库

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法10-生成器

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

  • dart语法9-异步

    dart语法1dart语法2-内置类型dart语法3-函数dart语法4-操作符dart语法5-异常dart语法6...

网友评论

      本文标题:Dart笔记(二)函数

      本文链接:https://www.haomeiwen.com/subject/rnwqzqtx.html