• Dart(二)变量与注释


    Dart(二)变量与注释

    变量

    方式一:var 用于声明变量,不用特指其类型。

        var age = 15;
        var name = 'li';
        var sex = "male";
        var value = true;
        var side = false;
        var distance = 11.5;
        print('---------------');
        print(age);
        print(name);
        print(sex);
        print(value);
        print(side);
        print(distance);
        print('---------------');
    
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: ---------------
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: 15
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: li
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: male
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: true
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: false
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: 11.5
    02-21 11:27:09.485 3057-3078/com.zrfpublic.flutternote I/flutter: ---------------
    

    但需注意:一旦赋值就固定其类型了,不能再赋予其他类型的值。

     
    image.png

    方式二:使用内置类型

    • 数字
    • 字符串
    • 布尔值
    • 数组或列表
    • map
    • 符号
        int a = 11;
        double b = 3.3;
        String c = "333";
        String d = '33';
        bool e = false;
        List<String> f = ['a','b'];
        List g = [1,2];
        var h = [1,2,3];
        List i =new List(3);//指明数组长度
        Map map = new Map();
        Map<String,String> map2 = new Map();
        var map3 = {
          'a':'aa',
          'b':'bb'
        };
    
    字符串

    字符串与int double转换

        int a = int.parse("11");
        double b = double.parse("22.3");
        String c = 33.toString();
        String d = 44.3.toString();
        print(a);
        print(b);
        print(c);
        print(d);
    
    02-21 12:08:21.049 3057-3078/com.zrfpublic.flutternote I/flutter: 11
    02-21 12:08:21.050 3057-3078/com.zrfpublic.flutternote I/flutter: 22.3
    02-21 12:08:21.050 3057-3078/com.zrfpublic.flutternote I/flutter: 33
    02-21 12:08:21.050 3057-3078/com.zrfpublic.flutternote I/flutter: 44.3
    

    字符串可以用单引号或双引号引,都可以。

        String c = "333";
        String d = '33';
    

    字符串模板

        使用   $变量名   ${表达式}
        String a = '111';
        String b = '222';
        String c = 'ccc';
        String d = '$a and ${b} and ${2+2} and ${c+c}';
        print(d);
    
    02-21 12:15:35.670 3057-3078/com.zrfpublic.flutternote I/flutter: 111 and 222 and 4 and cccccc
    

    字符串比较 使用==

        String a = '111';
        String b = '222';
        String c = "111";
        print(a==b);
        print(a==c);
    
    02-21 12:20:15.491 3057-3078/com.zrfpublic.flutternote I/flutter: false
    02-21 12:20:15.491 3057-3078/com.zrfpublic.flutternote I/flutter: true
    

    字符串判空

      var e = '';
      print(e.isEmpty);
      print(e==null);
      var f;
      print(f==null);
    02-21 12:40:07.018 3057-3078/com.zrfpublic.flutternote I/flutter: true
    02-21 12:40:07.018 3057-3078/com.zrfpublic.flutternote I/flutter: false
    02-21 12:40:07.018 3057-3078/com.zrfpublic.flutternote I/flutter: true
    

    连接字符串 使用+ 或 两个字符串相邻(声明时,两个字符串之间0-n个空格)

        String d = 'aaa''bbb'     'ccc';
        String e = 'a'+'b'+"c";
        print(d);
        print(e);
    
    02-21 12:24:18.590 3057-3078/com.zrfpublic.flutternote I/flutter: aaabbbccc
    02-21 12:24:18.590 3057-3078/com.zrfpublic.flutternote I/flutter: abc
    

    保持格式的字符串 使用''' ''' 引起来

    String f = '''
        a
        bdd   dd 22 %&**(
        
        3
        ''';
        print(f);
    
    02-21 12:27:55.689 3057-3078/com.zrfpublic.flutternote I/flutter:     a
            bdd   dd 22 %&**(
            
            3
    
    布尔值 只有true是真 false是假 其他全不合法(与js不一样)。
        bool a = true;
        bool b = false;
        print(a==true);
        print(b==false);
        print(!b);
    02-21 12:35:09.728 3057-3078/com.zrfpublic.flutternote I/flutter: true
    02-21 12:35:09.728 3057-3078/com.zrfpublic.flutternote I/flutter: true
    02-21 12:35:09.728 3057-3078/com.zrfpublic.flutternote I/flutter: true
    
     
    image.png
    变量默认值与java不同
    • 变量的默认值都是null,原因是dart中所有类型都是Object的,不赋值则默认为null。

    var、const、final之间区别

    • var可以声明一个变量,但是可以根据变量的值自动推导出其具体的数据类型,确定数据类型后,就不能赋值别的类型的数据了,强类型语言特性。
    • const声明一个变量,初始化后,其值便不可再改变,const表示的是编译时常量,也就是说在编译前就确定了其值。
    • final声明一个变量,初始化后,其值便不可再改变,但是final声明的变量直到第一次使用时才开始赋值,也就是惰性赋值,也就是说在运行时才确定。
    • const和final因为只需要赋值一次,便不能再次更改,因此其声明一个变量时,可以选择不明确其数据类型,自动推导即可,下面代码都是ok的:
    const a = 1;
    const int b = 2;
    final c = 1;
    final int d = 2;
    

    注释

    和其他语言的注释基本类似:

    • 单行注释和多行注释
        //单行注释
        int a=1;
        /*
          多行注释,可以跨行
         */
        String str = '333';
    
    • 文档注释:可以利用dart的文档生成器生成sdk文档
        /// 单行文档注释
        String str2 = "333";
        /**
         * 多行文档注释
         */
        String str3 = "333";
  • 相关阅读:
    【转】编写高质量代码改善C#程序的157个建议——建议20:使用泛型集合代替非泛型集合
    【转】编写高质量代码改善C#程序的157个建议——建议19:使用更有效的对象和集合初始化
    【转】编写高质量代码改善C#程序的157个建议——建议18:foreach不能代替for
    【转】编写高质量代码改善C#程序的157个建议——建议17:多数情况下使用foreach进行循环遍历
    java maven项目找不到jconsole-1.8.0.jar和tools-1.8.0.jar包
    Springboot集成dubbo时候出现异常
    Python小练习(持续更新....)
    2.PyCharm安装和使用之HelloWorld
    1.Python学习---helloworld
    关于编码问题
  • 原文地址:https://www.cnblogs.com/it-tsz/p/12511267.html
Copyright © 2020-2023  润新知