当前位置: 首页 > news >正文

(十)方法的定义 方法的作用域

/*
  内置方法/函数:

      print();

  自定义方法:
      自定义方法的基本格式:

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

void displayInfo(){
  print('我是一个自定义方法');
}

int fetchNumber(){
  var number=123;
  return number;
}

String showUserInfo(){
  return 'this is str';
}

List obtainList(){
  return ['111','2222','333'];
}

void main(){

  // print('调用系统内置的方法');

  // displayInfo();
  // var num=fetchNumber();
  // print(num);

  // print(showUserInfo());

  // print(obtainList());
  // print(obtainList());

  //演示方法的作用域
  void outerFunction(){
      void innerFunction(){
          print(obtainList());
          print('innerFunction');
      }
      innerFunction();
  }

  // innerFunction();  错误写法 
  outerFunction();  //调用方法
}
# Dart语言方法调用示例

## 1. 定义一个方法:求1到指定数的所有数的和
```dart
// 定义一个方法,计算1到指定数n的和
int sumNum(int n) {
  var sum = 0;
  for (var i = 1; i <= n; i++) {
    sum += i;
  }
  return sum;
}

void main() {
  var n1 = sumNum(5); // 调用方法,计算1到5的和
  print(n1); // 输出结果:15
  var n2 = sumNum(100); // 调用方法,计算1到100的和
  print(n2); // 输出结果:5050
}

2. 定义一个方法:打印用户信息

// 定义一个方法,打印用户信息,包含姓名和年龄
String printUserInfo(String username, int age) {
  return "姓名:$username---年龄:$age";
}

void main() {
  print(printUserInfo('张三', 20)); // 调用方法,输出:姓名:张三---年龄:20
}

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

// 定义一个方法,打印用户信息,年龄为可选参数
String printUserInfo(String username, [int age = 0]) {
  if (age != 0) {
    return "姓名:$username---年龄:$age";
  }
  return "姓名:$username---年龄保密";
}

void main() {
  print(printUserInfo('张三', 21)); // 传入年龄,输出:姓名:张三---年龄:21
  print(printUserInfo('张三')); // 不传年龄,默认输出:姓名:张三---年龄保密
}

4. 定义一个带默认参数的方法

// 定义一个方法,打印用户信息,性别和年龄为可选参数,有默认值
String printUserInfo(String username, [String sex = '男', int age = 0]) {
  if (age != 0) {
    return "姓名:$username---性别:$sex--年龄:$age";
  }
  return "姓名:$username---性别:$sex--年龄保密";
}

void main() {
  print(printUserInfo('张三')); // 不传性别和年龄,输出:姓名:张三---性别:男--年龄保密
  print(printUserInfo('小李', '女')); // 传入性别,输出:姓名:小李---性别:女--年龄保密
  print(printUserInfo('小李', '女', 30)); // 传入性别和年龄,输出:姓名:小李---性别:女--年龄:30
}

5. 定义一个命名参数的方法

// 定义一个方法,打印用户信息,使用命名参数,性别和年龄有默认值
String printUserInfo(String username, {int age = 0, String sex = '男'}) {
  if (age != 0) {
    return "姓名:$username---性别:$sex--年龄:$age";
  }
  return "姓名:$username---性别:$sex--年龄保密";
}

void main() {
  print(printUserInfo('张三', age: 20, sex: '未知')); // 输出:姓名:张三---性别:未知--年龄:20
}

相关文章:

  • 玩客云 armbian 安装mqtt服务端
  • 关于IPC sensor条纹问题分析
  • 在Kubernetes 1.26 上使用 StatefulSet 部署 MySQL8
  • 一文速通Python并行计算:00 并行计算的基本概念
  • 【论文笔记】生成对抗网络 GAN
  • 深入探究 JVM 堆的垃圾回收机制(二)— 回收
  • 【人工智能】Ollama 的 API 操作指南:打造个性化大模型服务
  • 《鸟哥的Linux私房菜基础篇》---5 vim 程序编辑器
  • 探秘文件系统变RAW:数据拯救全解析
  • 一道原创OI题(普及-)——ZCS的随机游走
  • 如何优化sql事务隔离带来的性能问题
  • 记一次wsl2+docker无法运行的经历
  • Chrome-Edge-IDEA-Win 常用插件-工具包
  • jaeger安装和简单使用
  • 简化神经元总结
  • JMeter对API接口进行压力测试使用教程
  • LeetCode hot 100—颜色分类
  • 0-2.5V采集范围的ADC采集正负5v电压信号
  • 力扣算法Hot100——49. 字母异位词分组
  • DCDC36V同步降压 输出可调 2A电流恒压芯片SL1588H 替换LV3842
  • 美乌矿产协议签署被曝“临门一脚”时生变,美方提附加条件
  • 先去上海后赴北京,苏中城市泰州为何接连拥抱顶流“大城”?
  • 铁路上海站今日预计发送旅客65.8万人次,同比增长超16%
  • 南部战区位南海海域进行例行巡航
  • IMF前副总裁朱民捐赠1000万元,在复旦设立青云学子基金
  • 夜读丨跷脚牛肉乐翘脚