6.Dart-函数作用域

2021-09-04  本文已影响0人  你的胡霸霸

/**

* 内置方法/ 函数:

*    print()

*

* 自定义方法:

*    自定义方法的基本格式

*    返回类型  方法名称  (参数1, 参数2, ...){

*        方法体;

*        return 返回值;

*    }

*/

var num = 100;

main(List<String> args) {

  print("num是全局作用域的 = $num");

  say();

  var a = add(3, 4);

  print(a);

  var des = func1("张三", 20, 100);

  print(des);

  var des1 = func2("李四", 19, 99);

  print(des1);

  var des2 = func3(name: "王五", age: 21, score: 80);

  print(des2);

  fn2(fn1);

  // 匿名函数

  var fn = () {

    print("匿名函数!");

  };

  fn();

}

void say() {

  print("这是自定义没有返回值的函数");

}

int add(a, b) {

  print("这是自定义有返回值的函数");

  return a + b;

}

// 可选参数

// 定义一个可选参数的方法, 可以选参数要放在最后一个参数上,用中括号括起来, 中括号里面的参数可以有多个

String func1(String name, [int age, double score]) {

  if (age != null && score != null) {

    return "$name, $age, $score";

  } else {

    return "$name";

  }

}

// 默认参数

// 定义一个默认参数, 默认参数是要定一个可选参数的中括号[]里面的

String func2(String name, [double score = 100, int age]) {

  if (age != null && score != null) {

    return "$name, $age, $score";

  } else {

    return "$name, $score";

  }

}

// 命名参数

// 就是用大括号括起来的一个参数, 类似一个字典传过去, 里面也可以默认参数值

String func3({String name, double score = 100, int age}) {

  if (age != null && score != null) {

    return "$name, $age, $score";

  } else {

    return "$name, $score";

  }

}

// 函数作为参数

fn1() {

  print("fn1");

}

fn2(fnName) {

  fnName();

}

上一篇 下一篇

猜你喜欢

热点阅读