美文网首页
Dart基础语法<一> 变量

Dart基础语法<一> 变量

作者: 果汁味Studio | 来源:发表于2020-12-25 20:03 被阅读0次

    本节主要通过与Java 的对比,了解两种语言不同之处,进行Dart语言语法学习。
    首先试个最经典的Hello World

    void main() {
      print("Hello World");
    }
    

    变量

    关于变量记录两点内容:

    • Objectvardynamic的使用
    • 区分finalconst两关键字
    Object、var与dynamic
    1. ​变量是一个引用,没有初始化的变量默认值为 null
    2. Object 跟 java一样,是所有类的父类,Object声明的变量可以是任意类型
    3. var 是修饰变量的关键字, 声明的变量在赋值瞬间,就决定它的类型,不能再修改值
    4. dynamic是修饰变量的关键字。不是在编译时确定实际类型, 而是在运行时。dynamic声明的变量行为与Object一样
    5. 在声明变量时,可以选择加上具体 类型:int x = 20
    6. 对于局部变量,按照目前Dart代码风格推荐,使用var修饰
    void main() {
      Object i = 5;
      i = "Juice";
      var j = "Juice";
      // j=10;不允许再修改j的值了,已经确定它是String类型了,编译错误
      var k;//这种情况下,编译时认为k为Object类型,所以以下两种操作成立
      k = "Juice";
      k = 100;
      dynamic z = "Juice"; //运行时,动态确定z是什么类型
      z = 8;
    }
    
    //参数a是dynamic隐式修饰
    void test(a) {}
    
    final与const区别
    1. final是运行时常量,一个 final 变量只能被设置一次
    2. const是编译器常量,它的值在编译期确定,能让代码运行更高效
    3. 两者区别在于:const变量是一个编译时常量,final变量在第一次使用时被初始化。
    void main() {
      //运行期常量
      final int i = 3;
      final j = 3;
      const k = 5;
       //const q=i;
      //由于i是运行时确定的常量,故不能赋值给q
      //但是可以把k赋值给它
     const q = k;
    }
    
    1. 类的变量可以为 final 但是不能是 const 。如果 const 变量在类中,需要定义为static const静态常量(static 同java)
      dart语法.png

    相关文章

      网友评论

          本文标题:Dart基础语法<一> 变量

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