美文网首页
Dart(二) 变量与常量

Dart(二) 变量与常量

作者: 书写不简单 | 来源:发表于2018-12-28 15:38 被阅读0次
    • 变量
     1. 使用var声明变量,可赋予不同类型的值
     
     2. 未初始化时,默认值为null
     
     3. 使用final声明一个只能赋值一次的变量,必须初始化
    
     4. final变量需要在声明时赋值进行初始化
    
    • 常量
      如果定义一个常量,请使用finalconst。最终变量只能设置一次;常量变量是编译时常数。(Const变量是隐式的final。)最终的顶级或类变量在第一次使用时被初始化。
    1. 使用const声明常量
    
    2. 使用const声明时必须初始化,不能再次被赋值
    
    3. const 变量是编译时常量,需要在声明时赋值进行初始化
    
    • 案例:
    void main() {
      print("Hello World");
    
      // 变量
      var a;
      print(a);
      a = 100000;
      print(a);
    
      // 常量
      const d = 4000;
      // d = 4020;
      print(d);
    
      // 声明只能赋值一次的变量 必须初始化
      final c = 222;
      print(c);
    
      // name变量的类型被推断为String
      var name = 'Bob';
    
    
    }
    

    结果:

    Launching lib/hello_word.dart on iPhone XR in debug mode...
    Xcode build done.                                            4.0s
    flutter: Hello World
    flutter: null
    flutter: 100000
    flutter: 4000
    flutter: 222
    
    • 注意事项:
    final name = 'Bob'; // 正确
    //  name = 'Alice'; // 错误,final 变量只能赋值一次
     
    //  const name1;  // 错误,const 变量是编译时常量,需要在声明时赋值进行初始化
    //  final name1; // 错误,final变量需要在声明时赋值进行初始化
      const name2 = 'Alice';  // 正确
     
    //  const name3 = name; // 错误,name 是个变量,不能赋给const
       final name4 = name2; // 正确,可以把const 常量赋给 final 变量
     
    //  final names1 = const[name, 3, 4];  // 错误,name 是个变量,不能赋给const
        final names2 = const[name2, 'Allen', 'Brian'];
     
      const names3 = ['A', 'B', 'C'];  // 正确。这里与参考 http://www.cndartlang.com/658.html 有点差别,经实测是正确的
      const names4 = const['A','B', 'C']; // 正确。
     
      print(names3[1]);
      print(names4[1]);
    
    

    const关键字不仅仅用于声明常量变量。您还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以有一个常数。

    var foo = const [];
    final bar = const [];
    const baz = []; // 等于 `const []`
    //baz = [42]; // 错误: 常量变量不能赋值。
    //const aconstList = [1,2,3]; 报错 expression is not a valid compile-time constant
    

    相关文章

      网友评论

          本文标题:Dart(二) 变量与常量

          本文链接:https://www.haomeiwen.com/subject/vtbrlqtx.html