内置方法/函数

  1. print():打印
  2. main():主函数
  3. assert():断言
  4. runes:字符串转Unicode编码
  5. loadLibrary():动态加载库
  6. library():库
  7. import():导入库
  8. export():导出库
  9. typedef():类型定义
  10. getLibraryMirror():获取库镜像

自定义方法/函数

  1. 方法的定义
    void printInfo() {
       print('自定义方法');
     }
    // 全局的方法
     String printStr() {
       return 'str';
     }
     void main() {
       print('调用系统内置方法');
       printInfo();
       // 返回int类型的方法
        int getNum() {
          var myNum = 123;
          return myNum;
        }
        print(getNum());
        print(printStr());
     }
    
  2. 方法的作用域

     void main() {
       // 方法的作用域
         void printInfo() {
             String myName = '张三';
             print(myName);
         }
            // print(myName); // 报错
            printInfo();
       // 方法嵌套
         void printUserInfo() {
             String myName = '张三';
             int myAge = 20;
             String mySex = '男';
             void printMyInfo() {
                 print('姓名:$myName,年龄:$myAge,性别:$mySex');
             }
             printMyInfo(); // 调用内部方法
         }
         printUserInfo();
         //调用printMyInfo()方法报错,因为printMyInfo()方法的作用域只在printUserInfo()方法内部
    
     }
    
  3. 定义一个方法,求1到这个数的所有数的和

     void main() {
       int sumNum(int n) {
         int sum = 0;
         for (var i = 1; i <= n; i++) {
           sum += i;
         }
         return sum;
       }
       print(sumNum(100));
     }
    
  4. 定义一个方法,打印用户信息
     void main() {
       void printUserInfo(String name, int age) {
         print('姓名:$name,年龄:$age');
       }
       printUserInfo('张三', 20);
     }
    
  5. 定义一个鸡兔同笼的方法,已知头的数量和脚的数量,求鸡和兔的数量
     void main() {
       // 定义一个鸡兔同笼的方法,已知头的数量和脚的数量,求鸡和兔的数量
       void getNum(int headNum, int footNum) {
         // 鸡的数量
         int chickenNum = 0;
         // 兔的数量
         int rabbitNum = 0;
         // 鸡的数量最大值
         for (var i = 0; i <= headNum; i++) {
           // 鸡的数量 * 2 + 兔的数量 * 4 = 脚的数量
           if (i * 2 + (headNum - i) * 4 == footNum) {
             // 鸡的数量
             chickenNum = i;
             // 兔的数量
             rabbitNum = headNum - i;
             print('鸡的数量:$chickenNum,兔的数量:$rabbitNum');
           }
         }
       }
       getNum(35, 94);
     }
    
  6. 定义一个方法,打印用户信息,可选参数
       void main() {
         String printUserInfo(String username, [int? age]){
             if (age != null) {
                 print('姓名:$username,年龄:$age');
             } else {
                 print('姓名:$username');
             }
         }
         printUserInfo('张三');
         printUserInfo('张三', 20);
       }
    
  7. 定义一个方法,带默认参数

    void main(){
          printUserInfo(String username, [ String sex = '男', int? age]){
               if (age != null) {
                     print('姓名:$username,年龄:$age,性别:$sex');
                 } else {
                     print('姓名:$username,性别:$sex');
                 }
          }
             printUserInfo('张三');
             printUserInfo('张三', '女');
             printUserInfo('张三', '女', 20);
    }
    
  8. 定义一个命名参数的方法

     void main() {
       printUserInfo(String username, {int age, String sex='男'}){
             if (age != null) {
                 print('姓名:$username,年龄:$age,性别:$sex');
             } else {
                 print('姓名:$username,性别:$sex');
             }
       }
         printUserInfo('张三');
         printUserInfo('张三', age: 20);
         printUserInfo('张三', age:30, sex: '女');
     }
    
  9. 实现一个把方法当做参数的方法
     void main() {
       // 实现一个把方法当做参数的方法
       void fn1() {
         print('fn1');
       }
       void fn2(fn) {
         fn();
       }
       fn2(fn1);
     }
    

results matching ""

    No results matching ""