Dart语言之 “变量”

在java中声明一个变量可以使用 int i; 此时i的默认值为0;在dart语言中一切皆对象,因此在dart中i的默认值则为null;

Object :任意类型

    Objet i; //声明i 变量,此时i的类型为任意类型;

var:  在声明的变量赋值的那一刻就决定了什么类型

    var j ="zcx";//此时j的类型为字符串类型

    j=100 ; //此时将赋值为100会报错;


    var k;//此时k 的类型为任意类型

    k = "zcx";

    k = 100;

        因为k 声明的为任意类型 ,即时执行了 k = "zcx"这句代码后,k的类型仍然是任意类型。所以以上两句代码不会报错;

dynamic  动态类型,不是在编译的时候确定变量的实际类型,在运行的时候确认类型;

dynamic  z = "zcx";//此时变量z类型为字符串类型

 z  = 100;//此时变量z类型为数字类型


final: 运行时常量,与java 类型,可以按照java的理解去理解

final int i =1; //声明一个运行时常量

final i =1; //此处可以省略 int 

const:编译时常量,运行速度、性能更好,因为在运行前就已经确定了;

    const j = 1; //因为在编译时就已经确定了j的值,所以在用到j的地方的值就是1;

    const z = i ; //此处会报错,因为你不能将一个运行时候才能确定的值赋值给一个编译时就要确定的变量,此处存在时间节点的、加载顺序问题,反之则可以(可以使用一个编译时确定的变量复制给运行时变量)如下:

final w = j;//此处是可以的

final 和const 都是表示一个不可变的变量;后期在声明类的时候会比较明显;


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,392评论 0 2
  • 注:这是第三遍读《C语言深度解剖》,想想好像自从大学开始就没读完过几本书,其中谭浩强的那本《C语言程序设计(第四版...
    HavenXie阅读 1,760评论 1 6
  • 把一个值赋值给一个无符号 类型的变量的时候,如果该值超过了该变量能够表示的范围,那么结果就是该变量获得了该值经过对...
    修司敦阅读 653评论 0 0
  • 题目来源:1、中兴、华为、慧通、英华达、微软亚洲技术中心等中外企业面试题目;2、C 语言面试宝典(林锐《高质量编程...
    月震阅读 1,833评论 0 1
  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 3,170评论 0 6