美文网首页
Dart基础1-变量

Dart基础1-变量

作者: 叶落清秋 | 来源:发表于2018-12-14 16:49 被阅读23次

    1.定义

    声明 作用
    var 自动推导类型
    dynamic 动态类型 (变量类型可以是任何数据类型)
    明确的类型

    注:和java不同,dart中的int、long、double、bool等并不是关键字,只是一个类

    var name = 'Bob';  //自动推导出类型为String(这里的' 和 "并没有区别)
    dynamic a = "a";
    a = 1;             //可以修改
    int i = 12;       //类型为int类
    

    1.2 修饰

    修饰 说明
    final 运行常量
    const 编译常量, 编译时确定并且不再变的变量
    static 仅可用在类中,静态变量
    1. final/const 必须初始化的时候赋值,且不可改变
    2. 类中属性,const常量必须用static修饰
    final name = 'Bob'; // 可以不需要指明类型,因为可以推导出来,后面必须初始化
    final String nickname = 'Bobby'; 
    
    final ls = [1,2,3,4,5,6]; // 不传递不可变性,不影响子元素的可变性
    ls[1] = 10;
    
    const ls1 = [1,2,3,4,5,6]; // 传递不可变行,影响子元素的可变性
    // ls1[1] = 10; // 报错
    
    // 使用const 定义的变量,如果在内存中已经存在, 则会复用
    const ls2 = [1,2,3,4,5,6];
    print(identical(ls1,ls2)); // true ls1 和 ls2 是相同对象
    

    创建常量值 const

    通过常量值的构造函数,创建常量值

    var foo = const [];   //这里List的构造函数也是const修饰的
    final bar = const [];  //bar不可改变
    const baz = []; // baz不可改变,等价于const baz = const []
    
    class A{
      static const int a = 1;
      const A();         //修饰构造函数
    }
    
    void main(){
        A a = const A();   
    }
    

    相关文章

      网友评论

          本文标题:Dart基础1-变量

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