Dart学习笔记(七)

43 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Dart 方法的定义 变量 方法的作用域

内置方法/函数:

print()

自定义方法:

自定义方法的基本格式:

返回类型  方法名称  (参数1, 参数2, ...) {方法体 return 返回值;}

void printInfo() {
 
  print('我是一个自定义方法');
 
}
 
 
 
// 可以写到main()入口函数的外边
 
// int getNum() {
 
//   var myNum = 123;
 
//   return myNum;
 
// }
 
 
 
String printUserInfo() {
 
  return 'this is str';
 
}
 
 
 
List getList() {
 
  return ['111', '222', '333'];
 
}
 
 
 
void main() {
 
  print('调用系统内置方法');
 
  printInfo();
 
 
 
  // int 定义一个指定类型的函数
 
  int getNum() {
 
    var myNum = 123;
 
    return myNum;
 
  }
 
 
 
  // 输出函数里的值
 
  var n = getNum();
 
  print(n); // 123
 
 
 
  print(printUserInfo()); // this is str
 
 
 
  // 方法的作用域
 
  void xxx() {
 
    aaa() {
 
      print('aaa'); // aaa
 
      print(getList()); // [111, 222, 333]
 
    }
 
 
 
    aaa();
 
  }
 
 
 
  xxx(); // 调用方法
 
}

Dart 方法传参 默认参数 可选参数 命名参数 方法作为参数

调用方法传参

定义一个方法 求1到这个数的所有的和

main() {
 
   int sumNum(int n) {
 
     var sum = 0;
 
     for (var i = 0; i <= n; i++) {
 
       sum += i;
 
     }
 
     return sum;
 
   }
 
   var n1 = sumNum(60);
 
   print(n1);
 
   var n2 = sumNum(100);
 
   print(n2);
 
}

定义一个方法然后打印用户信息

main() {
 
   String printUserInfo(String username, int age) {
 
     return ("姓名:$username ------ 年龄:$age");
 
   }
 
  print(printUserInfo("张三", 20));
 
}

定义一个带可选参数的方法

main() {
 
   String printUserInfo(String username, [int age = null, String sex = '男']) {
 
     // 形参
 
     if (age != null) {
 
       return "姓名:$username ------ 年龄:$age";
 
     }
 
     return "姓名:$username ------ 年龄:保密";
 
   }
 
 
   print(printUserInfo("张三", 21)); // 实参
 
 
   print(printUserInfo("张三")); // 姓名:张三 ------ 年龄:保密
 
}

定一个带默认参数的方法

main() {
 
   String printUserInfo(String username, [String sex = '男', int age = 0]) {
 
     // 形参
 
     if (age != 0) {
 
       return "姓名:$username --- 性别: $sex --- 年龄:$age";
 
     }
 
     return "姓名:$username --- 性别: $sex --- 年龄:保密";
 
   }
 
 
   print(printUserInfo("张三")); // 姓名:张三 --- 性别: 男 --- 年龄:保密
 
 
   print(printUserInfo("小李", "女")); // 姓名:小李 --- 性别: 女 --- 年龄:保密
 
 
   print(printUserInfo("小李", "女", 30)); // 姓名:小李 --- 性别: 女 --- 年龄:30
 
}

实现一个 把方法当做参数的方法

main() {
 
   // 方法
 
   fn1() {
 
     print('fn1');
 
   }
 
 
  // 方法
 
   fn2(fn) {
 
     fn();
 
   }
 
 
  // 调用 fn2 这个方法 把fn1这个方法当参数传入
 
   fn2(fn1); // fn1
 
}