zoukankan      html  css  js  c++  java
  • Dart语言快速学习上手(新手上路)

    Dart语言快速学习上手(新手上路)

    // 声明返回值
    int add(int a, int b) {
      return a + b;
    }
    
    // 不声明返回值
    add2(int a, int b) {
      return a + b;
    }
    
    // =>是return语句的简写
    add3(a, b) => a + b; 
    
    //命名参数、位置参数、参数默认值
    
    sayHello({String name}) {
      print("hello, my name is $name");
    }
    
    sayHello2({name: String}) {
      print("hello, my name is $name");
    }
    
    //位置参数
    sayHello(String name, int age, [String hobby]) { // 位置参数可以有多个,比如[String a, int b]
      StringBuffer sb = new StringBuffer();
      sb.write("hello, this is $name and I am $age years old");
      if (hobby != null) {
        sb.write(", my hobby is $hobby");
      }
      print(sb.toString());
    }
    
    
    
    // 命名参数的默认值
    int add({int a, int b = 3}) { // 不能写成:int add({a: int, b: int = 3})
      return a + b;
    }
    
    // 位置参数的默认值
    int sum(int a, int b, [int c = 3]) {
      return a + b + c;
    }
    
    
    //函数作为一类对象
    
    printNum(int a) {
      print("$a");
    }
    
    //将一个函数赋值给某个变量
    printNum(int a) {
      print("$a");
    }
    
    //匿名函数
    
    test(Function callback) {
      callback("hello");
    }
    
    //
    
    
    void main() {
      
      print("hello world!");
    
      var a = 1;
      int b = 10;
      String s = "hello";
      dynamic c = 0.5;
    
      var count = 10; 
      final Num = count;  // final 只能赋值一次
      const Num1 = 10; // const赋值必须是编译时常量
    
      // numbers
      var a = 0;
      int b = 1;
      double c = 0.1;
    
      // strings
      var s1 = 'hello';
      String s2 = "world";
    
      // booleans
      var real = true;
      bool isReal = false;
    
      // lists
      var arr = [1, 2, 3, 4, 5];
      List<String> arr2 = ['hello', 'world', "123", "456"];
      List<dynamic> arr3 = [1, true, 'haha', 1.0];
    
      // maps
      var map = new Map();
      map['name'] = 'zhangsan';
      map['age'] = 10;
      Map m = new Map();
      m['a'] = 'a';
    
      //runes,Dart 中 使用runes 来获取UTF-32字符集的字符。String的 codeUnitAt and codeUnit属性可以获取UTF-16字符集的字符
      var clapping = 'u{1f44f}';
      print(clapping); // 打印的是拍手emoji的表情
    
      // symbols
      print(#s == new Symbol("s")); // true
    
      print(add(1, 2)); // 3
      print(add2(2, 3)); // 5
      print(add3(1, 2)); // 3
    
    
      // hello, this is zhangsan and I am 20 years old
      sayHello("zhangsan", 20);
      // hello, this is zhangsan and I am 20 years old, my hobby is play football
      sayHello("zhangsan", 20, "play football");
    
      //  依次打印:
      //  1
      //  2
      //  3
      var arr = [1, 2, 3];
      arr.forEach(printNum);
    
    
      var f1 = printNum;
      Function f2 = printNum;
      var f3 = (int a) => print("a = $a");
      f1(1);
      f2(2);
      f3(6);
    
    
      test((param) {
        // 打印hello
        print(param);
      });
    
    }
    

      

  • 相关阅读:
    面试题:redis事务
    哲学家就餐问题
    面试题:Redis常见性能问题和解决方案?
    取势、明道、优术、践行、合众
    自主可控和开源
    关于独立思考
    警惕软件复杂度困局
    如何构建研发体系
    大数据整体链路
    银行数仓的建设实践
  • 原文地址:https://www.cnblogs.com/xiongwei/p/10313392.html
Copyright © 2011-2022 走看看