美文网首页
Dart语言-变量声明

Dart语言-变量声明

作者: 肉肉要次肉 | 来源:发表于2023-04-16 15:13 被阅读0次

    var关键字

    类似于JavaScript中的var,可以接收任何类型的变量。但最大的不同是 Dart 中 var 变量一旦赋值,类型便会确定,则不能再改变其类型

    vart="hi world";

    // 下面代码在dart中会报错,因为变量t的类型已经确定为String,

    // 类型一旦确定后则不能再更改其类型。

    t=1000;

    上面的代码在 JavaScript 是没有问题的,前端开发者需要注意一下,之所以有此差异是因为 Dart 本身是一个强类型语言,任何变量都是有确定类型的,在 Dart 中,当用var声明一个变量后,Dart 在编译时会根据第一次赋值数据的类型来推断其类型,编译结束后其类型就已经被确定,而 JavaScript 是纯粹的弱类型脚本语言,var 只是变量的声明方式而已。

    dynamic 和 Object

    相同点:dynamic与Object声明的变量都可以赋值任意对象,且后期可以改变赋值的类型


    dynamic  t;

    Object  x;

    t="hi world";

    x='Hello Object';

    //下面代码没有问题

    t=1000;

    x=1000;

    不同点:dynamic与Object不同的是dynamic声明的对象编译器会提供所有可能的组合,而Object声明的对象只能使用 Object 的属性与方法, 否则编译器会报错


    final 和 const

    final就是运行时常量,const是编译时常量。

    const:修饰的常量必须在声明时初始化,并且是可以确定的值,不是需要经过计算的值。可定义构造函数变量。

    final:修饰的常量必须在声明进初始化或者在构造函数中初始化,它的值可以动态计算。

    共同点是两者赋值后就不能再修改(不能重新赋值,对于引用类型可以修改属性)。

    late 变量将在未来初始化

    相关文章

      网友评论

          本文标题:Dart语言-变量声明

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